Fehler bei: struct als Rückgabewert
lima-city → Forum → Programmiersprachen → C/C++ und D
-
He,
ich hab eine Frage bezüglich C.
Wenn ich diesen Code eingebe:
#include <stdio.h> #include <stdlib.h> struct Zahl { int Var; }; Zahl berechne(void); //Hier kommt der Fehler int main(int argc, char** argv) { return (EXIT_SUCCESS); } Zahl berechne() //Hier kommt der Fehler { struct Zahl Nummer; Nummer.Var = 4; return Nummer; }
spuckt der Compiler mir folgende Fehlermeldung aus:
main.c:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘berechne’
main.c:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘berechne’
Ich benutze die Gnu-Compiler-Collection
Muss ich die struct-Anweisung anders schreiben??
Danke schon mal im Vorraus
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo jakarta,
Du hast zwei Möglichkeiten:
1.
#include <stdlib.h> struct Zahl { int Var; }; struct Zahl berechne(void); int main(int argc, char** argv) { return (EXIT_SUCCESS); } struct Zahl berechne() { struct Zahl Nummer; Nummer.Var = 4; return Nummer; }
2.
#include <stdlib.h> typedef struct { int Var; } Zahl; Zahl berechne(void); int main(int argc, char** argv) { return (EXIT_SUCCESS); } Zahl berechne() { Zahl Nummer; Nummer.Var = 4; return Nummer; }
Wenn Du kein typedef verwendest, dann musst Du vor Zahl immer struct schreiben.
Beitrag zuletzt geändert: 21.4.2011 12:52:49 von darkpandemic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage