Preprocessor directives are interpreted before compiling your program. So VAR
has no knowledge of a
and b
. See C preprocessor on Wikipedia.
Instead, you could create a macro that takes parameters, like this:
#define VAR(a,b) (a | b)
…and use it like that:
#if (VAR(a,b) != 0)
You would have to adapt your program, since a
and b
don’t belong to the scope of your main()
function.
3
solved Problems changing variable in #if