Warum beschweren sich Compiler über diese Makro-Deklaration?
Ich schreibe das folgende Makro zum Debuggen,
<code>1 #ifndef DEF_H 2 #define DEF_H 3 #define DEBUG_MODE 4 #define DEBUG_INFO(message) \ 5 #ifdef DEBUG_MODE \ 6 cout << message << endl; \ 7 #endif \ 8 #endif </code>
aber gcc beschwert sich wie folgt
<code>def.h:4: error: '#' is not followed by a macro parameter def.h:1: error: unterminated #ifndef </code>
Was ist los mit diesem Stück Code? Vermisse ich hier einige wichtige Punkte?