假设我有两个类:
class One {
Two *somevar = new Two;
// (...)
};
class Two {
One *somevar = new One;
// (...)
}
Run Code Online (Sandbox Code Playgroud)
并且编译类似的东西是不可能的.怎么处理?
由于您所有的嵌套都是指针,请尝试:
class Two;
class One {
Two *somevar = new Two;
// (...)
};
class Two {
One *somevar = new One;
// (...)
}
Run Code Online (Sandbox Code Playgroud)
通过前向声明类Two,您可以为编译器提供足够的信息,以便能够在类中创建指针One.如果你试图自己嵌套类而不仅仅是指针,那么就没有办法解决这个问题.