2016-07-13 5 views
-1

-Code Ich habe versucht, den Kopf zurück:Wie kehre ich den Kopf aus der Struktur

node insert(node *head, int num){ 
    node *newnode; 
    newnode=getnode(); 
    newnode->data=num; 
    nednode->next=NULL; 

    if(head==NULL){ 
    head=newnode; 
    newnode->next = NULL; 
    } 
    head->next=newnode; 
    return head; 
} 

Nach dem Kompilieren, erhalte ich diese Fehlermeldung:

"error: expected declaration specifiers or '...' before '*' token"

Vielen Dank im Voraus

+2

Es ist kein vollständiges Codefragment und die Typen der Argumente sind nicht angegeben. – evaitl

+3

Vermutlich fehlt Ihrem Compiler die Deklaration von 'node'. –

+0

gibt es auch einen Tippfehler: change 'nednode-> next = NULL;' zu 'newnode-> next = NULL;' – Cherubim

Antwort

1

Ihre Funktion Prototyp scheint unvollständig:

node insert(*head,num) 

Sollte sein:

node insert(node *head, int num) 
+0

Ich habe vergessen, den Datentyp zu schreiben. Es gibt denselben Fehler, selbst wenn der oben erwähnte Code ausgeführt wird. – Raghu

1

Ihr Rückgabewert sollte wahrscheinlich Knoten * sein. Daher sollte es sein: node * insert (node ​​* head, int num);

Auch Sie haben einen Tippfehler mit Newnode. Ich habe es ausprobiert und es funktionierte für mich, nachdem ich den Rückgabewert geändert hatte.

0

Sie Code sollte dies mögen.

Ändern Sie den nednode in newnode.

Wenn Sie den Knoten mit dem Link verbinden, müssen Sie den Tail des Links finden und den neuen Knoten mit dem Tail verbinden.

Und Sie sollten den Knoten * anstelle von Knoten zurückgeben. Ändern Sie daher den Rückgabetyp der Funktion in den Knoten *.

Verwandte Themen