The following code does not expand the Boolean expression, see also https://godbolt.org/z/YqbazT3eo:
#define EXPAND(x) x
#define SWITCH false
EXPAND(SWITCH || defined(_DEBUG))
How do I do it correctly so that I can do
#define FLAG EXPAND(SWITCH || defined(_DEBUG))
(or similar) and FLAG
will not depend on later changes to SWITCH
?
FLAG
will not depend on later changes to SWITCH?
The only way is this:
#if SWITCH || defined(_DEBUG)
#define FLAG 1
#else
#define FLAG 0
#endif