Previous: 構造体からの構造体の参照
Up: 構造体の中の構造体
Next: 構造体の隠蔽
Previous Page: 構造体からの構造体の参照
Next Page: 構造体の隠蔽
複数の構造体がお互いを参照することは許されない。
誤った例 struct P { struct Q q; }; struct Q { struct P p; };
この例は、分かりづらいが、誤っている。何故ならば、構造体 P を宣言 した時点では、構造体 Q は宣言されていないので、構造体 P の メンバー struct Q q; を解決出来ないからである。一方、構造体 Q は、その解決していない宣言を用いているのだから、なおさら解決不可能である。 また、上の宣言は、良く見ると、どこにも具体的な型がない事にも気づくだろう。 つまり、この例は、無限にお互いを定義するだけで、実体はどこにもないのである。