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