嗨我有一个问题,我尝试做跟随,A类依赖于B类,反之亦然
class A;
class B{
A foo;
friend B A::doSomething();
};
class A {
B bar;
B doSomething;
};
Run Code Online (Sandbox Code Playgroud)
朋友声明不起作用,因为A是不完整的声明.有什么方法可以避免这种情况吗?(Swapp类声明顺序不是解决方案我不想构建一个更复杂的示例,其中交换不再起作用)
你现在要做的就是让你的类无限大 (据我所知,bar并且foo是类成员变量,因此这意味着B包括A,包括B......).
你可以使用指针和存储A* foo或B* bar在你的一个类中或以某种方式重新设计你的应用程序,以避免这种循环依赖.