我有两个标题,A 和 B。它们看起来像这样:
// A.h
#include "B.h";
class A {
// stuff
AFunction(B* b);
OtherFunction();
}
// B.h
class A;
BFunction(A* a);
这是我第一次尝试解决循环依赖,所以我不太确定自己在做什么。我的问题如下:BFunction 在某些时候调用a->OtherFunction();
. 我收到一个错误,因为 OtherFunction 没有前向声明,显然我也不能前向声明它。这种情况是对称的(AFunction 调用 b->SomeOtherFunction()),所以我无法通过交换 include 和 forward 声明来修复它。
我该如何解决这个问题?