互いを参照する構造体について – プログラミング – Home

互いを参照する構造体について
 
通知
すべてクリア

[解決済] 互いを参照する構造体について


twistor
 twistor
(@twistor)
ゲスト
結合: 19年前
投稿: 11
Topic starter  

VC++を使用しています(C++自体初心者です)。
構造体aがメンバとして構造体aへのポインタ、構造体bへのポインタを含み、
構造体bがメンバとして構造体aへのポインタを含むとき、
どのように宣言すればよいのでしょうか。
とりあえず

typedef struct a{
a* m_a;
b* m_b;
};

typedef struct b{
a* m_a;
};

としてコンパイルしてみました。
「構文エラー;';'が'*'の前にありません。」や、
「識別名を宣言するのに、型が指定されていません。」といったエラーメッセージがでて
きます。
どなたかご教授お願いします。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

struct a の中では、まだ struct bが何者かわからない状態ですので、

struct b;

struct a
{
a* m_a;
b* m_b;
};

struct b
{
a* m_a;
};

としてみてはどうでしょうか?

ところで、typedefの使い方おかしくないでしょうか?


返信引用
twistor
 twistor
(@twistor)
ゲスト
結合: 19年前
投稿: 11
Topic starter  

ああ、コンパイル通りました。
迅速なお返事をどうもありがとうございました。
typedef、確かにおかしいです。
もともと違う形で書かれていたものをコピーして修正して使っていたのですが・・・
修正にもなってませんでしたね。
ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました