我还在学习c ++并尝试解决如何让两个c ++类存储彼此的实例变量。我意识到你必须添加一个前向参考来做到这一点,但我想我仍然必须在这里遗漏一些东西。
class B;
class A {
public:
B b;
};
class B {
public:
A a;
};
尝试编译它会产生错误:
temp.cpp:5:5: error: field 'b' has incomplete type
B b;
^
答案 0 :(得分:4)
答案 1 :(得分:1)
你不能这样做。这是一个无限递归:A的实例必须包含B的实例(不是指针!),B的实例必须包含A的实例。