Как правильно написать этот макрос в C++/Qt?

В общем есть вот такая примитивная конструкция перекрытия

#ifdef QT_DEBUG
#define __DEBUG(A, B) qDebug() << PLACE(A) << B;
#else
#define __DEBUG(A, B)
#endif

Суть ее в том что если компилировать проект в режиме дебага, то макрос срабатывает и подставляется соответствующее значение, если же компилировать в режиме Релиза, то макрос ничего не подставляет. Вопрос: как правильно реализовать такую конструкцию без варнингов?

/defines.h:55: warning: "__DEBUG" redefined [enabled by default]
#define __DEBUG(A, B) qDebug() << PLACE(A) << B;
  • Вопрос задан
  • 1520 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Например так:
#undef __DEBUG
#ifdef QT_DEBUG
#define __DEBUG(A, B) qDebug() << PLACE(A) << B;
#else
#define __DEBUG(A, B)
#endif
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы