No. This operator does not evaluate to an integer constant. Why won't you get a C++ reference and see what this operator does? I'm even ashamed to explain that. :-) But this error message is about
#define
, but about
#if
. You don't use any defined symbols in your sample anyway.
And the expression you have written looks like gibberish not only to the preprocessor. Why casting to Boolean? It makes no sense at all. And why would you even use the preprocessor, I wonder? If you are sure you need it, read about it first:
http://www.cplusplus.com/doc/tutorial/preprocessor/[
^].
—SA