0

我需要使用 Ah 中定义的结构作为方法的参数以及 Bh 中另一个结构的数据元素(我不能在 StructB 中使用指向 StructA 的指针,因为它指向的数据最终会改变,我需要将原始数据保存在 StructB 的本地副本中。)

啊:

struct StructA {
...
}

溴化氢

#include "A.h" 
struct StructA;

class B {
  method foo (StructA &structA);
  struct StructB {
     ...
     StructA structA
  }

通过在 Bh 中包含 Ah,难道 StructA 的声明不能在 Bh 中使用吗?但是,编译器抱怨“字段 structA 的类型不完整”。

如果我不转发声明 StructA,则编译器会抱怨 StructA 未在方法 foo 中声明。因此,显然该声明在 Bh 中不可用

我在这里遗漏了一些基本的东西,但我无法弄清楚,这让我发疯了!请帮忙!

4

1 回答 1

0

#include "A.h"确实提供B.h了完整的类型,但是的猜测是您有一个循环包含,这就是它不起作用的原因。是否A.h包括B.h(直接或不)?

于 2013-10-25T07:44:27.267 回答