Forum: Mikrocontroller und Digitale Elektronik Ein simples define geht nicht! Warum?


von Tobias E. (doenges2)


Lesenswert?

Hallo,

ich habe in meiner headerdatei folgenden eintrag:

#define duttoncounter  3;


und in meiner c Datei binde ich die Headerdatei ein

#include "Libraries\buttons.h"

und diese Zeile´kommt dann später in meiner Datei:


if (counter <= buttoncounter)  {
  blablabla;
  vounter++;
}

Daraufhin bekomme folgende Fehlermeldung:

error: expected ')' before ';' token


Ich kann mir das nicht erklären. Jemand eine Idee?

In der Headerdatei stehen auch noch typedefs, die funktionieren 
wiederum!


Gruß

Thomas

von Benedikt K. (benedikt)


Lesenswert?

Tobias Eckhardt wrote:

> In der Headerdatei stehen auch noch typedefs, die funktionieren
> wiederum!

Die haben auch kein ; dahinter...

von Michael Wilhelm (Gast)


Lesenswert?

defines ohne Semikolon am Zeilenende!

MW

von Karl H. (kbuchegg)


Lesenswert?

> #define buttoncounter  3;
> und in meiner c Datei binde ich die Headerdatei ein
>
> #include "Libraries\buttons.h"
> und diese Zeile´kommt dann später in meiner Datei:
> if (counter <= buttoncounter)  {
>
> Daraufhin bekomme folgende Fehlermeldung:
>
> error: expected ')' before ';' token
>
> Ich kann mir das nicht erklären. Jemand eine Idee?

Spiel mal Compiler, genauer gesagt Preprozessor:
Mach die Textersetzung: Ersetze den Text "buttoncounter" durch
den Text "3;"

aus
 if (counter <= buttoncounter)  {
wird dann
 if (counter <= 3;)  {

Kannst du dir jetzt die Fehlermeldung erklären?

von Tobias E. (doenges2)


Lesenswert?

Danke und einen guten Morgen

oh mann!!!!!

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.