C ++中链接列表的问题

时间:2012-02-09 19:05:59

标签: c++ linked-list

我对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;

};

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

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

替换

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

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

struct声明后的额外括号导致错误。后者是在C ++中声明structclass的正确方法。

答案 2 :(得分:1)

struct的声明有一对多余的括号。当你删除它时,这应该没问题:

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

答案 3 :(得分:0)

()应该在函数之后而不是struct / class name。