テンプレートクラスAが次のように定義されているとします。
template <typename T>
class A
{
B<T> b;
};
テンプレートクラスBが次のように定義されているとします。
template <typename T>
class B
{
A<T> a;
};
理想的には、これらのクラスは、インライン実装を使用して個別のヘッダーで定義されます。ただし、これにより循環包含の問題が発生します。1つの解決策は、テンプレート化されたクラスの実装をcppファイルに入れることです。ただし、これには特殊なテンプレートのインスタンス化が必要になります。
クラスの実装をインラインに保ち、循環的な包含依存を回避する方法はありますか?可能であれば、ポインタの使用は避けたいと思います。
ありがとう、
サム