Forum: Compiler & IDEs Typezuweisung #define


von Frank (Gast)


Lesenswert?

Muss ich bei der #define-Anweisung immer einen Typen angeben?

Also z.B. #define ECHO 100

Möchte das Echo einfach nur als Konstante ohne Integer Wert verwenden.
Wenn ch die 100 weglasse gibt es ne Fehlermeldung...

Was kann ich da tun?

von Rolf Magnus (Gast)


Lesenswert?

Zunächst mal: #define definiert ein Präprozessor-Makro. Überall im
Quelltext (außer natürlich innerhalb von Strings), wo ECHO vorkommt,
wird dies durch 100 ersetzt, bevor der eigentliche Compiler den Code
sieht.

> Möchte das Echo einfach nur als Konstante ohne Integer Wert
> verwenden.

Eine Konstante ohne Wert? Das ergibt keinen Sinn.

> Wenn ch die 100 weglasse gibt es ne Fehlermeldung...

Klar, wenn du sowas wie:

  x = ECHO * 5;

dann wird durch den Präprozessor daraus:

  x = * 5;

weil du dem Präprozessor gesagt hast, er soll alle Vorkommen von ECHO
durch nichts ersetzen.

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.