1. ホーム
  2. gcc

C++コンパイルエラー:型に名前がない

2022-02-08 22:57:18
<パス

私は同様の問題に遭遇し、Baidu Knowledgeの回答(リンクが見つかりません)を読みました。
ソースファイル内でクラスへのポインタを宣言または定義するには、そのクラスを使用する前に宣言または定義する必要があるため、以下のコードではエラーが報告されることになります。

class A
{
public:
    B *b;
};
class B {
public:    
	A *a;
};
int main()
{
    return 0;
}


エラー "error: 'B' does not name a type" は、クラスAでB *bを使う前にクラスBが宣言または定義されていないためです。