Почему компилятор жалуется на это объявление макроса
Я пишу следующий макрос для удобства отладки,
<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>
но GCC жалуется как следующее
<code>def.h:4: error: '#' is not followed by a macro parameter def.h:1: error: unterminated #ifndef </code>
Что не так с этим фрагментом кода? Я скучаю по некоторым важным моментам здесь?