2009-05-28 17 views
0

J'apprends un livre sur les structures de données, et obéis leur noeud dans l'exemple lié la liste, et je reçois cette erreur:chaînée nœud en C +

and Everything.cpp|7|error: expected unqualified-id before "int"| 
and Everything.cpp|7|error: expected `)' before "int"| 
||=== Build finished: 2 errors, 0 warnings ===| 

Le code pour le nœud est:

typedef struct Node 
{ 
    struct Node(int data) //Compile suggest problem is here 
    { 
     this-> data = data; 
     previous = NULL; 
     next = NULL; 
    } 
    int data; 
    struct Node* previous; 
    struct Node* next; 
} NODE; 

Je ne suis pas familier avec les structures et j'utilise le code :: blocks pour compiler. Quelqu'un sait-il ce qui ne va pas?

+0

Je ne suis pas sûr que je fais confiance à l'auteur de ce livre de structures de données avec C++. Il n'est pas nécessaire d'utiliser "struct Node *" ("Node *" fera l'affaire), ou de typedef Node comme NODE. Cela n'a pas pu être fait pour la compatibilité avec C, car la structure a un constructeur. Impair. Peut-être que c'est très vieux. –

Répondre

5

L'exemple de code est incorrect. Il ne doit pas y avoir le mot clé struct devant la déclaration du constructeur. Il devrait être:

typedef struct Node 
{ 
    Node(int data) // No 'struct' here 
    { 
     this-> data = data; 
     previous = NULL; 
     next = NULL; 
    } 
    int data; 
    struct Node* previous; 
    struct Node* next; 
} NODE; 
Questions connexes