C++初心者です。相互参照するクラス(構造体?)の作り方で悩んでいます。一般的な相互参照の解決法は沢山のサイトに載っているのですが・・・
よくある相互参照と解決法
---------------------
struct Test2;
struct Test1{
Test2 *t2;
};
struct Test2{
Test1 *t1;
};
---------------------
これはtest1の中でtest2を使いたい時にその前に名前だけとりあえず宣言しておけばOK(wave)、というもの。(間違ってたらご指摘お願いします。)
自分が現在どうすればいいか途方に暮れている相互参照
---------------------
struct Test2;
struct Test1{
int n;
Test2 *t2;
void Func1(Test2 *t2){
this->t2->m = 777;
}
};
struct Test2{
int m;
Test1 *t1;
void Func2(Test1 *t1){
this->t1->n = 777;
}
};
---------------------
ここでは各メンバ関数内でお互いのメンバを参照します。このときのエラーは、
「Test2のメンバは宣言されていないので、mはTest2のメンバではありません。」
です。これは
this->t2->m = 777;
の行に対するエラーです。
struct Test2;
の行でメンバまで宣言することができません。
どうすれば「Test2の中にmというメンバがあるって後で教えてあげるからちょっとまって」とコンパイラに伝えられるのか、教えてください。お願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- 物理学 文字説明になってしまうのですがすいません。物理の問題です。 重さWの荷物を吊るす。 重さを吊るしたと 2 2023/07/06 02:40
- 物理学 温度 T1, T2の二つの熱源間の間に可逆サイクルを働かせるとき、出入りする熱量をQ1, Q2とする 2 2023/06/30 09:30
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- 一眼レフカメラ 初めての一眼レフをFUJIFILM X-T2にしようかと思っているのですがどう思いますか?? 7 2022/04/18 09:22
- 計算機科学 急ぎです、大学数学再帰の問題難しくてがわからないです。 以下の4つの文字列を連結して新たに生成できる 1 2023/05/17 20:11
- レディース アニエス・ベーについて教えてください。 Tシャツのサイズ表記に1.2.3のほかにT1.T2.T3とT 1 2022/05/17 18:13
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
2重定義って??
-
long型の定数の末尾にLを付ける...
-
typedef enumの使い方を教えて...
-
直接アドレス指定のポインタの...
-
C++のfor文について
-
関数の実体定義にヘッダファイ...
-
main.c:7:43: warning: implici...
-
C++でboolにintの値を代入する...
-
C言語のreturnの使い方
-
visualstudio C# テキストボッ...
-
enumについて
-
構造体の宣言でエラーが出ます。
-
ハンドルされていない例外が発...
-
【#define】 defineで定義した...
-
プログラムの中で別のmainを呼...
-
DLLでLIBファイルが作成されない
-
変数の型を定義しなかった場合...
-
TCP/IPでのgetsockname()の使い...
-
DLLのLPSTR 項目の戻り値の取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
2重定義って??
-
long型の定数の末尾にLを付ける...
-
C++のfor文について
-
typedef enumの使い方を教えて...
-
visualstudio C# テキストボッ...
-
関数の実体定義にヘッダファイ...
-
main.c:7:43: warning: implici...
-
C++でboolにintの値を代入する...
-
【#define】 defineで定義した...
-
ハンドルされていない例外が発...
-
コンパイルすると error C1083 ...
-
プログラムの中で別のmainを呼...
-
構造体の要素すべてに対する四...
-
変数の型を定義しなかった場合...
-
void func( void )について
-
C++ クラスをメンバにもつクラ...
-
構造体の宣言でエラーが出ます。
-
エラー「invalid conversion fr...
-
intとINTの違いは?
おすすめ情報