Forum: Compiler & IDEs Werd' noch wahnsinnig, Präprozessor-> #define


von Markus (Gast)


Lesenswert?

Also im Header File steht drin:
1
#define OFF 0
2
#define ON 1
3
#define SINE 2;
4
#define SQUARE 3;
5
#define SAWTOOTH 4;
6
#define NOISE 5;
und nun will ich abfragen, was im LCD angezeigt werden soll:
1
void showfunction(tsOUTPUT *myoutput)
2
{
3
 lcd_gotoxy(0,0);
4
 lcd_puts("Function ");
5
 lcd_puts(getFlashMenuEntry(lcdchannel));
6
 lcd_putc(myoutput->OutputName);
7
 lcd_gotoxy(0,1);
8
 switch(myoutput->Type)
9
 {
10
  case 2 : 
11
   lcd_puts(getFlashMenuEntry(lcdsine));
12
  break;
13
  case SQUARE:
14
   lcd_puts(getFlashMenuEntry(lcdsquare));
15
  break;
16
  case SAWTOOTH:
17
   lcd_puts(getFlashMenuEntry(lcdsawtooth));
18
  break;
19
  case NOISE:
20
   lcd_puts(getFlashMenuEntry(lcdnoise));
21
  break;
22
 }
23
}
Und das Dolle ist nun folgender Fehler im WinAVR:
1
demo.c: In function `showfunction':
2
demo.c:336: Fehler: Syntaxfehler vor »;«-Zeichen
3
demo.c:339: Fehler: Syntaxfehler vor »;«-Zeichen
4
demo.c:342: Fehler: Syntaxfehler vor »;«-Zeichen
Und kaum habe ich SINE gegen 2 ersetzt sind's nur noch drei statt vier 
Fehler ...
Kann mich bitte mal einer aufklären, warum der Präprozessor nicht wie es 
sich gehört SQUARE gegen 3 ersetzt ?
Danke,
Markus

von Peter Sager (Gast)


Lesenswert?

Dann korrigiere doch ganz einfach die Sachen, worüber der Compiler 
mekert:

=> lasse die ';' Zeichen hinter den defines weg !!! <=

von Markus (Gast)


Lesenswert?

AAAARGHHHHH !!!!
Mann bin ich blind !
Sowas von peinlich, aber ist auch schon bisschen zu lange jetzt ;)
Danke,
Markus

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.