【发布时间】:2019-03-03 05:32:33
【问题描述】:
我正在尝试定义一个具有该类型元素的类。用更好的话来说:
class Cell {
public:
int row;
int col;
Cell parent;
};
我在 Visual Studio 下工作,parent 带有错误下划线:incomplete type is not allowed。我相信这是因为我引用了一些尚未完成声明的东西。所以我尝试做一些不同的事情,将它定义为一个类型:
typedef struct s_cell {
int row;
int col;
struct s_cell parent;
} Cell;
我遇到了同样的问题。我确定是出于同样的原因。
【问题讨论】:
-
如果你把
Cell放在Cell里面,那么Cell也将包含一个Cell,而Cell又包含一个Cell。 ......等等......不是吗? -
一个类(或结构)可以包含一个指针,指向同类型的类(或结构),但不能包含同类型的实例,因为那样会导致无限递归。
-
@user3386109 成功了,谢谢
标签: c++ c class typedef incomplete-type