1

可能重复:
解决 C++ 中的循环依赖关系
什么是 C++ 中的前向声明?

我有两个类 A 和 B。我需要在每个类中都有一个字段,它是指向另一个类的对象的指针。我得到“没有命名类型”,因为该类的定义尚未出现。例如:

class A{
   B* b;
}
class B{
   A* a;
}

在第二行得到我“B”没有命名类型“。

4

2 回答 2

3

使用前向声明:

class B;

class A {
  B* b;
};

class B {
  A* a;
};

这样你就告诉编译器B稍后将声明它不应该担心。有关更多信息,请参见:前向声明

于 2012-12-26T14:36:12.643 回答
1

前向声明是您问题的关键,这是链接

什么是 C++ 中的前向声明?

于 2012-12-26T14:36:26.187 回答