あるプログラムを作っていて,クラス同士がお互いを参照し合う場合にコンパイルできないという状況になってしまいました.以下がそのサンプルソースです. // main.c class A { B a_instance; }; class B { A b_instance; }; int main() { return 0; }たしかに、class Aが定義された時点ではclass Bは定義されていない訳で % g++ main.cpp main.cpp:2: error: 'B' does not name a type と怒られるのも当然です。class AとBの順番を逆にしたところで、今度はAなんて知らないというエラーメッセージが出て同じ結果となります。 調べてみたところ、この状態をクラスの相互参照と言うことが分かりました.解決する為には 不完全なクラス宣言をする クラスの参照をポインタで行