1

重複の可能性:
c ++の循環依存関係を解決しますc++
の前方宣言とは何ですか?

2つのクラスAとBがあります。それぞれに、他のクラスのオブジェクトへのポインタであるフィールドが必要です。クラスの定義がまだ表示されていないため、「型に名前を付けません」というメッセージが表示されます。例えば:

class A{
   B* b;
}
class B{
   A* a;
}

2行目で「Bはタイプに名前を付けていません」と表示されます。

4

2 に答える 2

3

前方宣言を使用します。

class B;

class A {
  B* b;
};

class B {
  A* a;
};

Bこのようにして、後で宣言される予定であり、心配する必要がないことをコンパイラーに伝えます。詳細については、これを参照してください:前方宣言

于 2012-12-26T14:36:12.643 に答える
1

前方宣言はあなたの質問の鍵です、ここにリンクがあります

C ++での前方宣言とは何ですか?

于 2012-12-26T14:36:26.187 に答える