一点菜鸟问题: 我需要A和B类,这样A有B *成员,B有A *成员。
编译时我得到“错误:ISO C ++禁止声明'B'没有类型”。我怎么能绕过这个?
答案 0 :(得分:10)
转发声明B(或A)
class B; //forward declaration of B
class A
{
B *b;
};
class B
{
A *a;
};
答案 1 :(得分:6)
转发声明a或b类之一。
class b; //forward declaration
class a{
//class a stuff
b* ptrtoB;
};
class b{
//class b stuff
a* ptrtoA;
};
答案 2 :(得分:2)
如果没有其他类正在使用它,你也可以内联转发声明其中一个类:class B* pMemberB;
al la C style