假设我有两个班级:
class One {
Two *somevar = new Two;
// (...)
};
class Two {
One *somevar = new One;
// (...)
}
编译类似的东西是不可能的。如何处理?
答案 0 :(得分:9)
由于您所有的嵌套都是指针,请尝试:
class Two;
class One {
Two *somevar = new Two;
// (...)
};
class Two {
One *somevar = new One;
// (...)
}
通过前向声明类Two
,您可以为编译器提供足够的信息,以便能够在类One
中创建指针。如果你试图自己嵌套类而不仅仅是指针,那么就没有办法解决这个问题。
答案 1 :(得分:0)
我想我找到了一个解决方案:
// class Type instead of Type
// so:
class Two *somevar = new class Two;