此问题参考一下大神提供的解决方案
class A
{
public:
void FunA1(){}
void FuncA2(){}
void FunA3(){b->funb1();}
private:
class B *b;
};
class B()
{
public:
void funb1(){}
void funb2(){
a->FunAa();
}
private:
class A a;
};
解决方案二:
以前做过测试,这种相互交叉使用,定义指针是可以的,定义对象不行。
例如:类A在B前定义
class B;
class A
{ public:
B *pb;//合法
B b;// 非法
}
class B
{
public:
A a;//合法
A *pa; //合法
};