重複の可能性:
c ++の循環依存関係を解決しますc++
の前方宣言とは何ですか?
2つのクラスAとBがあります。それぞれに、他のクラスのオブジェクトへのポインタであるフィールドが必要です。クラスの定義がまだ表示されていないため、「型に名前を付けません」というメッセージが表示されます。例えば:
class A{
B* b;
}
class B{
A* a;
}
2行目で「Bはタイプに名前を付けていません」と表示されます。
重複の可能性:
c ++の循環依存関係を解決しますc++
の前方宣言とは何ですか?
2つのクラスAとBがあります。それぞれに、他のクラスのオブジェクトへのポインタであるフィールドが必要です。クラスの定義がまだ表示されていないため、「型に名前を付けません」というメッセージが表示されます。例えば:
class A{
B* b;
}
class B{
A* a;
}
2行目で「Bはタイプに名前を付けていません」と表示されます。
前方宣言を使用します。
class B;
class A {
B* b;
};
class B {
A* a;
};
B
このようにして、後で宣言される予定であり、心配する必要がないことをコンパイラーに伝えます。詳細については、これを参照してください:前方宣言
前方宣言はあなたの質問の鍵です、ここにリンクがあります