1

我正在创建一个名为的类Circle,并且需要一个公共属性来访问它的“父”Circle实例。因此我这样编码:

class Circle {
public:
...
    Circle parent;
...
}

但这给了我一个错误:Incomplete type is not allowed

我该怎么办?

4

2 回答 2

4

那是做不到的。考虑一下您的类型的内存占用量是多少: aCircle包含 a Circle,因此它的大小不能小于 inner Circle,但该大小与 external 的大小相同,从而Circle产生矛盾。

也许您打算存储指针智能指针?这是允许的,因为编译器知道指针的大小。

于 2012-11-28T13:10:28.027 回答
0

您应该将 parent 定义为指向Circle

Circle *parent;
于 2012-11-28T13:10:18.187 回答