2012-02-09 9 views
1

私はC++を全く新しくしています。私は3つのノードを持つ単純なリンクリストを実装しようとしています。ここに私のコードです: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; 

}; 

明らかに、なぜコンパイルされていないのですか? :(

は、任意の助けを事前にありがとうございます!

+6

コンパイラのエラーメッセージとは何ですか? –

+5

もしあなたが「全く新しい」ならば、あなたはまだチャンスがある間にあなたの心の中から 'abusing namespace std;'を削除し、もう一度使ってはいけません。 –

+0

エラーメッセージのコピーは次のとおりです。http://chopapp.com/#fq7vcb86 –

答えて

6

構造体宣言から "()"を削除します。あなたのコンパイラはそれをあなたに伝えていたはずです。

+0

それで、int main()を追加して解決しました!ありがとうございました:) –

+0

ああよくありがとうございました。Kerrek SBのアドバイスを真剣に受けて、まだ機会がある間に "using namespace std"を削除してください;-) –

+0

@ user1200428と答えを受け入れるようにしてください! –

1

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

構造体宣言は、エラーの原因とされた後、余分なparanthesisで

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

を交換してください。後者はありますC++でstructまたはclassを宣言する適切な方法

1

structの宣言に余分な括弧があります。あなたがそれらを削除すると、この本はOKのようになります。

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

()ではなく、構造体/クラス名の機能の後に記述する必要があります。

関連する問題