Проверка определения макроса в C++
Конструкция проверка определения
#ifdef … #endif оставляет
текст внутри, только если имя макроса уже
объявлено директивой #define.
Если макроса нет, препроцессор выбрасывает
весь блок до #endif, и компилятор
этот код не видит. Запишем метку режима
и условный вывод:
#define MODE_ON
#include <iostream>
int main() {
#ifdef MODE_ON
std::cout << "on\n";
#endif
return 0;
}
Объявите #define TRACE без значения.
Внутри #ifdef TRACE выведите
"trace".