C++递归数据类型

Cro*_*yer 4 c++

一点菜鸟问题:我需要A和B类,这样A有B*成员,B有A*成员.

编译时我得到"错误:ISO C++禁止声明'B'没有类型".我怎么能绕过这个?

Pra*_*rav 10

转发申报B(或A)

class B; //forward declaration of B

class A
{
   B *b;
};

class B
{
   A *a;
};
Run Code Online (Sandbox Code Playgroud)


shu*_*e87 6

转发声明a或b类之一.

class b; //forward declaration

class a{
//class a stuff
b* ptrtoB;

};


class b{
//class b stuff
a* ptrtoA;

};
Run Code Online (Sandbox Code Playgroud)