【发布时间】:2018-05-05 09:28:55
【问题描述】:
我有一个未解决的问题,我想问一下 C++ 中的循环依赖关系。 假设我有两个类继承自另一个类。在所有这三个类的定义中,我都有一个成员函数,它从另外两个对象中初始化两个对象,如下所示。
class A{
public:
...
A* test(){
A* first=new B();
A* second= new C();
}
};
class B:public A{
public:
...
A* test(){
A* first=new A();
A* second= new C();
}
};
class C:public A{
public:
...
A* test(){
A* first=new A();
A* second= new B();
}
};
我得到的编译器错误是:“错误 C2027:使用未定义类型 'B'”和“错误 C2027:使用未定义类型 'C'”。
【问题讨论】:
-
我已经尝试过使用类原型。
-
在链接的问题上使用the currently second answer
标签: c++ inheritance circular-dependency