[C] Syntax-Fehler
-
Hey,
ich probiere mich gerade an C und habe deshalb mal folgenden Code geschrieben (wie in einem Tutorial):LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_CREATE: HMENU hMenubar; HMENU hMenu; hMenubar = CreateMenu(); hMenu = CreateMenu(); AppendMenu(hMenu, MF_STRING, IDM_FILE_NEW, "&New"); AppendMenu(hMenu, MF_STRING, IDM_FILE_OPEN, "&Open"); AppendMenu(hMenu, MF_SEPARATOR, 0, NULL); AppendMenu(hMenu, MF_STRING, IDM_FILE_QUIT, "&Quit"); AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hMenu, "&File"); SetMenu(hwnd, hMenubar); break; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); }
Das Problem ist, dass mein Compiler meldet, dass sich vor hMenubar ein Syntax-Fehler befindet. Genaueres gibt er nicht an... Ich habe mir den Code jetzt sicher schon 50 mal genau angesehen, konnte jedoch einfach keinen Syntax-Fehler erkennen
Könnt ihr mir da weiter helfen?
Danke schon mal.MfG,
-haiyyu_
-
Dein Compiler gibt doch sicher eine genauere Fehlerbeschreibung raus als "Hey, da ist ein Syntax-Fehler"...
EDIT: windows.h hast du aber inkludiert, oder?
-
Genaue Ausgabe:
In function 'WndProc': syntax error before "hMenubar"
MfG,
-haiyyu_
-
Sorry für Doppelpost,
klar habe ich windows.h inkludiert.include <windows.h>
MfG,
-haiyyu_
-
Ach klar: du musst den Inhalt des case-Zweiges in geschweifte Klammern einschließen, wenn du in diesem Variablen deklarieren willst.
Also:
switch(bla) { case 1: { ... } }
-
Hey,
vielen Dank! Jetzt funktioniert es. (war noch ein wenig von C++ gewöhnt, da musste man das nicht machen)MfG,
-haiyyu_
-
haiyyu_ schrieb:
Hey,
vielen Dank! Jetzt funktioniert es. (war noch ein wenig von C++ gewöhnt, da musste man das nicht machen)MfG,
-haiyyu_Ähm, doch ich glaube schon.
-
int i=0; switch(i) { case 1: int x=0; case 2: int y=1; }
Also mein C++-Compiler (MS) meckert da...
-
Hey,
komisch... Naja, vllt. habe ichs ja übersehenMfG,
-haiyyu_