Dlaczego kompilator skarży się na tę deklarację makro
Piszę następujące makro dla poprawności debugowania,
<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>
ale gcc narzeka jak poniżej
<code>def.h:4: error: '#' is not followed by a macro parameter def.h:1: error: unterminated #ifndef </code>
Co jest nie tak z tym fragmentem kodu? Czy brakuje mi tutaj kilku ważnych punktów?