Previous: 構造体からの構造体の参照
Up: 構造体の中の構造体
Next: 構造体の隠蔽
Previous Page: 構造体からの構造体の参照
Next Page: 構造体の隠蔽

構造体同士の参照

複数の構造体がお互いを参照することは許されない。

誤った例
        struct P {
            struct Q q;
        };
        struct Q {
            struct P p;
        };

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

maruyama@wakhok.ac.jp
1995年02月08日 (水) 18時57分57秒 JST