Возможный дубликат:
#ifdef внутри #define
Как использовать символ "#" успешно внутри макроса? Он кричит, когда я делаю что-то вроде этого:
#define DO(WHAT) \
#ifdef DEBUG \
MyObj->WHAT() \
#endif \