• ベストアンサー

2つのクラスがお互いのポインタを持つ場合

2つのクラスがお互いのポインタを持つ場合に、以下のコードは成り立つのでしょうか? いずれのクラスも自分が成立するためには、相手が成立している必要があり、結局両者とも定義できないと思うのですが。。。 //----- a.h ----- class b; class a{ b* lpb; }; //----- b.h ----- class a; class b{ a* lpa; };

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

まだ宣言していないクラス、もしくは構造体で循環参照をさせる際、 おまじないのように「class」「struct」を書いておくと できるようになります。 //----- a.h ----- //(いらない)class b; class a{ class b* lpb; }; //----- b.h ----- //(いらない)class a; class b{ class a* lpa; };

VitaminBB
質問者

お礼

不思議ですが、出来るのですね。 回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A