structs
-
Hallo !
Ih habe ein Problem mit structs .
Wenn ich den folgenden Code ausführen möchte :#include <windows.h> struct gehaltsdaten { double grundgehalt; double monatsbonus; double weihnachtsgeld; }; struct gehaltsdaten petersgehalt; petersgehalt.grundgehalt = 1000; petersgehalt.monatsbonus = 0; petersgehalt.weihnachtsgeld = 100; int WINAPI WinMain (HINSTANCE HInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow){ MessageBox( NULL, "Hat geklappt !", "Status:", MB_OK); return 0; }
kommen folgende Meldungen bei VC++ .NET 2003 Std. :
------ Erstellen gestartet: Projekt: test-struct, Konfiguration: Debug Win32 ------ Kompilieren... main.cpp d:\Workspace\MVC++\test-struct\main.cpp(13) : error C2143: Syntaxfehler: Es fehlt ';' vor '.' d:\Workspace\MVC++\test-struct\main.cpp(13) : error C2501: 'petersgehalt': Fehlende Speicherklasse oder Typspezifizierer d:\Workspace\MVC++\test-struct\main.cpp(13) : error C2371: 'petersgehalt': Neudefinition; unterschiedliche Basistypen d:\Workspace\MVC++\test-struct\main.cpp(11): Siehe Deklaration von 'petersgehalt' d:\Workspace\MVC++\test-struct\main.cpp(14) : error C2143: Syntaxfehler: Es fehlt ';' vor '.' d:\Workspace\MVC++\test-struct\main.cpp(14) : error C2501: 'petersgehalt': Fehlende Speicherklasse oder Typspezifizierer d:\Workspace\MVC++\test-struct\main.cpp(14) : error C2371: 'petersgehalt': Neudefinition; unterschiedliche Basistypen d:\Workspace\MVC++\test-struct\main.cpp(11): Siehe Deklaration von 'petersgehalt' d:\Workspace\MVC++\test-struct\main.cpp(15) : error C2143: Syntaxfehler: Es fehlt ';' vor '.' d:\Workspace\MVC++\test-struct\main.cpp(15) : error C2501: 'petersgehalt': Fehlende Speicherklasse oder Typspezifizierer d:\Workspace\MVC++\test-struct\main.cpp(15) : error C2371: 'petersgehalt': Neudefinition; unterschiedliche Basistypen d:\Workspace\MVC++\test-struct\main.cpp(11): Siehe Deklaration von 'petersgehalt' Das Build-Protokoll wurde unter "file://d:\Workspace\Mvc++\test-struct\Debug\BuildLog.htm" gespeichert. test-struct - 9 Fehler, 0 Warnung(en) ---------------------- Fertig ---------------------- Erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen
Wo liegt mein Fehler ?
Ich währe dankbar wenn ihr mir helfen würdet .
-
petersgehalt.grundgehalt = 1000; petersgehalt.monatsbonus = 0; petersgehalt.weihnachtsgeld = 100;
Das sind Anweisungen, und die sind in C++ nur innerhalb von Funktionen und Memberfunktionen erlaubt, nicht aber irgendwo zwischen den Funktionen. Du willst wahrscheinlich sowas machen:
gehaltsdaten petersgehalt = { 1000, 0, 100 };
Noch besser wär es natürlich, du würdest auf globale Variablen verzichten. Sprich: Die Definition und Zuweisung von petersgehalt in eine Funktion (WinMain) verlagern.
Was auch nicht schlecht wär: Als erstes Standard-C++ lernen, keine Windows-API.