私はこのエラーがあります:
「エラーC4430:型指定子がありません-intが想定されています。注:C++はdefault-intをサポートしていません」
このコード例では:
//A.h #include "B.h" class A{ B* b; .. }; //B.h #include "A.h" class B{ A* a; // error error C4430: missing type specifier - int assumed. };
これは 循環依存 の問題です。あるクラスへのポインタを宣言するために、クラスの定義は必要ありません。つまり、タイプは 完全なタイプ である必要はありません。したがって、A.hにB.hを含める必要はありません。 前方宣言 で十分です。といった:
A.h
B.h
//B.h class A; // change the include of A.h to forward declaration class B { A* a; };