C+中的链表问题+; 我对C++完全陌生,我在一个简单的问题上打破了我的观点。我试图实现一个包含三个节点的简单链表。这是我的密码: #include<iostream> using namespace std; struct node(){ int data; struct node* next; }; struct node* BuildOneTwoThree() { struct node* head = NULL; struct node* second = NULL; struct node* third = NULL; head = new node; second = new node; third = new node; head->data = 1; head->next = second; second->data = 2; second->next = third; third->data = 3; third->next = NULL; return head; }; #包括 使用名称空间std; 结构节点(){ int数据; 结构节点*下一步; }; 结构节点*buildonetwother(){ 结构节点*head=NULL; 结构节点*second=NULL; 结构节点*third=NULL; 头=新节点; 第二个=新节点; 第三个=新节点; 头部->数据=1; 头->下一个=秒; 第二->数据=2; 第二->下一个=第三个; 第三->数据=3; 第三->下一步=空; 回流头; };

C+中的链表问题+; 我对C++完全陌生,我在一个简单的问题上打破了我的观点。我试图实现一个包含三个节点的简单链表。这是我的密码: #include<iostream> using namespace std; struct node(){ int data; struct node* next; }; struct node* BuildOneTwoThree() { struct node* head = NULL; struct node* second = NULL; struct node* third = NULL; head = new node; second = new node; third = new node; head->data = 1; head->next = second; second->data = 2; second->next = third; third->data = 3; third->next = NULL; return head; }; #包括 使用名称空间std; 结构节点(){ int数据; 结构节点*下一步; }; 结构节点*buildonetwother(){ 结构节点*head=NULL; 结构节点*second=NULL; 结构节点*third=NULL; 头=新节点; 第二个=新节点; 第三个=新节点; 头部->数据=1; 头->下一个=秒; 第二->数据=2; 第二->下一个=第三个; 第三->数据=3; 第三->下一步=空; 回流头; };,c++,linked-list,C++,Linked List,问题显然是,为什么它不编译( 提前感谢您的帮助!更换 struct node(){ int data; struct node* next; }; 与 结构声明后的额外偏旁引起错误,后者是在C++中声明结构> 或类< /代码>的正确方式。 替换 struct node(){ int data; struct node* next; }; 与 结构声明后的额外偏旁引起错误。后者是在C++中声明结构> 或类的正确方式。 从结构声明中删除“()”。编译器应该告诉你。 移除“()”。

问题显然是,为什么它不编译(

提前感谢您的帮助!

更换

struct node(){
  int data;
  struct node* next;
};

结构声明后的额外偏旁引起错误,后者是在C++中声明<代码>结构> <代码>或<代码>类< /代码>的正确方式。

替换

struct node(){
  int data;
  struct node* next;
};


结构声明后的额外偏旁引起错误。后者是在C++中声明<代码>结构> <代码>或<代码>类<代码>的正确方式。

从结构声明中删除“()”。编译器应该告诉你。

移除“()”。从结构声明中。编译器应该告诉您。

结构的声明中有一对多余的括号。当您删除它们时,这应该可以:

struct node{
    int data;
    struct node* next;
};

struct
的声明中有多余的一对括号。删除它们时,这应该可以:

struct node{
    int data;
    struct node* next;
};

()
应该写在函数之后,而不是结构/类名。

()
应该写在函数之后,而不是结构/类名。

编译器错误消息是什么?如果您是“全新的”,然后请在您还有机会的时候立即将滥用命名空间std;的行为从您的脑海中删除,并且不要再使用它。下面是错误消息的副本:@user1200428:我认为这不是您收到的第一条错误消息。如果可以,请使用标准库的
std::list
,而不是创建自己的。编译器错误消息是什么?如果您是“全新的”,然后请在您还有机会的时候立即将滥用命名空间std;的行为从您的脑海中删除,并且不要再使用它。下面是错误消息的副本:@user1200428:我认为这不是您收到的第一条错误消息。如果可以,请使用标准库的
std::list
,而不是创建您自己的。哦,是的-很高兴能提供帮助,请认真考虑Kerrek SB的建议,在您还有机会的时候删除“使用命名空间std”。-)哦,是的-很高兴能提供帮助,请认真对待Kerrek SB的建议,在您还有机会的时候删除“使用命名空间std;”;-)