Problem mit Makro über mehrere Zeilen

Gast #2803776
Lesenswert?

Ich habe hier gerade ein wahrscheinlich ganz banales Problem...

Ich habe ein Marko definiert in C, welches folgendermaßen aussieht:
1
#define NUMBER_8 (SEG_a | SEG_b | SEG_c | SEG_d | SEG_e | SEG_f | SEG_g)

Hinter den "SEG_a" verbirgt sich wiederum ein weiteres Makro, welches 
eine Hex-Zahl beherbergt, die den Anschluss des Segments am 
Schieberegister kennzeichnet.

Meine Definition geht aber jetzt über mehrere Zeilen, da die Bezeichner 
auch mal länger sind, ist auch egal...was ich jedoch gerade machen will 
ist das hier:
1
#define NUMBER_8 (SEG_a | SEG_b | SEG_c |
2
                  SEG_d | SEG_e | SEG_f | SEG_g)

Das dient rein der Übersichtlichkeit, da der Text sonst aus der 
druckbaren Zeile läuft.

Jetzt habe ich im Internet gefunden, dass ich mit einem "\" das #define 
über mehrere Zeilen verteilen kann, also habe ich:
1
#define NUMBER_8 (SEG_a | SEG_b | SEG_c |      \
2
                  SEG_d | SEG_e | SEG_f | SEG_g)

Aber das geht nicht. Da, wo ich "NUMBER_8" benutzen will, sagt der 
Compiler "expected an expression". Wenn alles in einer Zeile steht, dann 
geht es problemlos. Was läuft jetzt schief? Geht die OR-Verknüpfung 
nicht über die Zeilen? Oder woran liegt es?

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren