Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在创建一个名为的类Circle,并且需要一个公共属性来访问它的“父”Circle实例。因此我这样编码:
Circle
class Circle { public: ... Circle parent; ... }
但这给了我一个错误:Incomplete type is not allowed
Incomplete type is not allowed
我该怎么办?
那是做不到的。考虑一下您的类型的内存占用量是多少: aCircle包含 a Circle,因此它的大小不能小于 inner Circle,但该大小与 external 的大小相同,从而Circle产生矛盾。
也许您打算存储指针或智能指针?这是允许的,因为编译器知道指针的大小。
您应该将 parent 定义为指向Circle:
Circle *parent;