目前的一种状况是A类中以B类指针作为成员变量,B类在构造时需传入A类指针作为参数。
a.h
class A{B *b;
};
b.h
class B{B(A *a);
};
这种情况需要在头文件中前向声明,然后在.cpp文件中include另一个类的头文件。如下:
a.h
class B;
class A{B *b;
};
b.h
class A;
class B{B(A *a);
};
a.cpp
#include "a.h"
#include "b.h"
// +其他内容b.cpp
#include "b.h"
#include "a.h"
B::B(A *a){}
// +其他内容
这样问题就解决了,循环依赖有很多种情况,我遇到的这种只是其中一种,想了解更多查看
https://blog.csdn.net/wangjie112358/article/details/135824167