と仮定テンプレートクラスAが定義されている次のよう環状テンプレート次のように
template <typename T>
class A
{
B<T> b;
};
と仮定テンプレートクラスBが定義されている:
template <typename T>
class B
{
A<T> a;
};
理想的には、これらのクラスは、インライン実装と別のヘッダに定義されます。しかし、これは周期的な包含問題を引き起こす。 1つの解決策は、テンプレート化されたクラスの実装をcppファイルに入れることです。しかし、これには特殊なテンプレートのインスタンス化が必要です。
クラスのインライン化の実装を維持し、循環的なインクルードの依存関係を避ける方法はありますか?私はそれが可能な場合は、ポインタを使用しないようにしたいと思います。
おかげで、
サム
無限大のメモリが必要なので、これを行うことはできません。ここでポインタや参照を使用する必要があります。 –
@classdaknok_tはい、あなたは正しいと思います。私はポインタを使用する必要があるかもしれません... –