Forum: Mikrocontroller und Digitale Elektronik AVRStudio switch Anweisung und #define


von Michael N. (Gast)


Lesenswert?

Hallo, ich habe da ein Problem mit einer switch-Anweisung in einem 
C-Programm.
Ich dachte man könnte einfach #define's benutzen. Was bei mir aber 
scheinbar nicht funktioniert.
1
#include <stdint.h>
2
3
#define MNU_MAIN 0;
4
#define MNU_TEMP 1;
5
 
6
int main()
7
{
8
  uint8_t gActMenu = 0;
9
10
  switch(gActMenu)
11
  {
12
    case MNU_MAIN:
13
      // show menus
14
    break;
15
16
    case MNU_TEMP:
17
      // show temp menu
18
    break;
19
  }
20
}
Das geht nicht. Wenn ich statt der define's einfach 0 und 1 benutze geht 
es ohne Fehler.

../12345.c:13: error: expected ':' or '...' before ';' token
../12345.c:13: error: expected expression before ':' token
../12345.c:17: error: expected ':' or '...' before ';' token
../12345.c:17: error: expected expression before ':' token

Wieso kommen diese Fehler? In der 12345.c steht nicht mehr drin. Das 
oben ist das komplette Programm.

von Sauger (Gast)


Lesenswert?

Moin,

sagt er dir doch. Mach mal die ; hinter den #define weg.

MfG

von Michael N. (Gast)


Lesenswert?

Alles klar, vielen Dank. Ich muss mich noch ein bisschen umgewöhnen von 
Delphi nach C. Vorher hatte ich auch noch = Zeichen bei den #defines. 
Den Fehler hatte ich selber gefunden.
Habs nur nicht geblickt, weil die #defines in ner anderen Datei waren 
(im eigentlichen Projekt) er aber auf die .c Datei verwiesen hatte.

Aber ich werd mich schon noch an die Syntax und die Compilermeldungen 
gewöhnen. Finde die im Moment noch ein bisschen unübersichtlich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.