As expected, C/C++ compilation does fail with "warning: comparison between pointer and integer" for the program below:
#include int ma
In C, the macro false is defined as:
false
#define false 0
So you're comparing a pointer against 0, which is a valid null pointer constant.