template <class T=A>
struct B {
T a;
};
struct A {
B<A> foo(){
B<A> result;
return result;
}
};
テンプレートを使用する必要をなくすにはどうすればよいですか(デフォルトのパラメーターに注意してその使用法を確認してください)。問題は、両方のクラスが互いの定義を必要とすることです。しかし、テンプレートソリューションが示すように、「実際の」循環依存関係はありません。