私はC++でそれを行うことが可能かどうか知りたいです:
template <typename T> class A { T link;};
template <typename U> class B { U link;};
class AA : A<BB> {};
class BB : B<AA> {};
エラーが発生するため:
error: ‘BB’ was not declared in this scope
error: template argument 1 is invalid
私はexpect宣言を使用しようとしました:
class AA;
class BB;
class AA : A<BB> {};
class BB : B<AA> {};
しかし、それは機能しませんでした:
In instantiation of ‘A<AA>’:
error: ‘A<T>::s’ has incomplete type
error: forward declaration of ‘struct AA’
ご協力ありがとうございました、