Hallo! Habe ein Problem bei der Verwendung des ? Operators in einem Makro, wenn man als Argument eine Variable einer Struktur angibt: Bsp.: Makro:
1 | #define CHECK_NULL_SET(check, set, valTrue, valFalse) (!check) ? set = valTrue : set = valFalse;
|
Code:
1 | CHECK_NULL_SET(*checkVal, structure.setVal, 5, 8); |
Präprozessorergebnis:
1 | (!*checkVal) ? structure . setVal = 5 : structure . setVal = 8; |
Dann gibt es natürlich Compilerfehler, da " . " (mit zusätzlichen Leerzeichen vorne- und hintendran) natürlich Schwachsinn ist. Was mache ich denn falsch? Danke & Grüße Jochen