C++ 如何修复c+中的错误C2460+;? #包括 使用名称空间std; 结构链接 { 链路数据; 链接*下一步; }; 类链接列表 { 私人: 链接*第一; 公众: 链接列表() {first=NULL;} 无效附加项(int d); void display(); }; 无效链接列表::添加项(int d) { link*newlink=新链接; newlink->data=d; 新建链接->下一步=第一步; 第一个=新链接; } 无效链接列表::显示() { int n=0; 链接*当前=新链接; 电流=第一; while(当前!=NULL) { 库特

C++ 如何修复c+中的错误C2460+;? #包括 使用名称空间std; 结构链接 { 链路数据; 链接*下一步; }; 类链接列表 { 私人: 链接*第一; 公众: 链接列表() {first=NULL;} 无效附加项(int d); void display(); }; 无效链接列表::添加项(int d) { link*newlink=新链接; newlink->data=d; 新建链接->下一步=第一步; 第一个=新链接; } 无效链接列表::显示() { int n=0; 链接*当前=新链接; 电流=第一; while(当前!=NULL) { 库特,c++,linked-list,C++,Linked List,这是非法的。对象不能作为类成员包含自身。这是解决您确切问题的方法,因为您使用的是数据字段仅存储整数 struct link { link data; 至于错误,错误很明显:编译器不知道需要为“link data”成员保留多少空间,因为类“link”仍在定义中。指针不会出现问题,因为无论指针是什么类型,它们都使用相同的空间量,通常为32位或64位,具体取决于您的设置。在定义结构自引用的成员时,可能在结构内部使用struct linkk里面有一个链接,还有一些其他的东西。你希望它怎么工作?

这是非法的。对象不能作为类成员包含自身。

这是解决您确切问题的方法,因为您使用的是
数据
字段仅存储整数

struct link
{
    link data;

至于错误,错误很明显:编译器不知道需要为“link data”成员保留多少空间,因为类“link”仍在定义中。指针不会出现问题,因为无论指针是什么类型,它们都使用相同的空间量,通常为32位或64位,具体取决于您的设置。

在定义结构自引用的成员时,可能在结构内部使用
struct link
k里面有一个
链接
,还有一些其他的东西。你希望它怎么工作?那意味着
链接
必须是无限大的!
struct link
{
    link data;
struct link
{
    int data;
    link* next;
};