#pragma message вывести значение макроса?
#define HAS_DEBUG defined(_DEBUG)
#define STR(x) #x
#define STRINGIFY(x) STR(x)
#pragma message ( STR(HAS_DEBUG) "=" STRINGIFY(HAS_DEBUG) )
Выводит HAS_DEBUG=defined(_DEBUG) а хотелось бы HAS_DEBUG=0
If the token defined is generated as a result of this replacement process or [...], the behavior is undefined. Увы, вы написали в чистом виде UB.
Если убрать UB, всё работает: https://godbolt.org/z/fE7ceT7vs
Так и сделал в итоге, но думал это у меня руки кривые
Обсуждают сегодня