Typedef auf Pointer
-
Guten Tag!
Ich bekomme den folgenden Fehler:
error C2275: 'nodeptr': Ungültige Verwendung dieses Typs als Ausdruck 1> Siehe Deklaration von 'nodeptr'
Hier die zugehörige Deklaration
typedef struct node { Partei* data; struct node* next; } Node, *nodeptr;
Und hier die Stelle wo der Fehler auftaucht:
int isIn(char name[], List l) { if(isEmpty(l)){ return 0; } nodeptr noPtr = l.first; // Auf diese Zeile verweist der Fehler while(noPtr->next != NULL) { if(equal(noPtr->data->name, name) == 1) return 1; } return 0; }
Der Code für die struct wurde durch eine Übungsaufgabe vorgegeben, deshalb denke ich es das es stimmen sollte, allerdings scheint das Visual Studio es besser zu wissen^^
Würde mich sehr über Hilfe beim Fehler finden freuen
Viele Grüße,
Phillip Vaßen
-
Habs doch noch selbst raus bekommen...
dummer Formfehler:nodeptr noPtr = l.first;
muss am Anfang der Funktion ausgeführt werden, dann funktionierts.
-
Wenn es sich um C-Code handelt, und du ihn nicht im C-Forum postest (sondern so wie hier z.B. im MFC Forum), dann solltest du es das nächste mal vielleicht dazuschreiben.
Dann hätte dir auch schnell jmd. sagen können, dass Variablen in C nur am Anfang eines Scopes deklariert werden können.
Mit C++ könntest du deinen Code nämlich ohne Fehler übersetzen. Und etwas was sowohl C als auch C++ sein kann, wird hier i.A. als C++ interpretiert.