7
テンプレート依存クラスの循環依存性に問題があります。コードサンプルがあります:C++ - 循環依存(テンプレートベースクラスの内部クラスのサブクラスを使用)
template <typename T> struct A
{
typedef typename T::C D;
//typename T::C c;
};
struct B : public A<B>
{
struct C {};
};
私はBをインスタンス化しようとすると、私はコンパイラエラーを取得:「C」は「B」(MSVC)のメンバーまたは不完全型 'の不正使用ではありません構造体B '(GCC)。
サンプルを変更して動作させるには、どのような方法が最適ですか?
できません。解決しようとしている問題のもう少し完全な例を提供し、コードのリファクタリングを見てみましょう。 –