C ++每个类都依赖于第二个类

时间:2010-06-28 22:44:51

标签: c++

假设我有两个班级:

class One {
    Two *somevar = new Two;
    // (...)
};

class Two {
    One *somevar = new One;
    // (...)
}

编译类似的东西是不可能的。如何处理?

2 个答案:

答案 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;