获取"字段的类型不完整"甚至在添加前向参考之后

时间:2014-03-15 23:05:00

标签: c++

我还在学习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;
     ^

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

你不能这样做。这是一个无限递归:A的实例必须包含B的实例(不是指针!),B的实例必须包含A的实例。