What I don't understand is that if NULL, a constant pointer expression (be it what it may) is explicit-cast to integer, is that not my "final word". All the dangers of foot-shooting aside, if I tell the compiler I want to convert this constant pointer expression (an integral-like type) to an integer, should that not essentially "shut it up". Basically, wouldn't the expression:
(int)ANY_POINTER_TYPE become of type integer?
I mean I can see the warning from an implicit cast (from argument to parameter type), however an explicit cast should always negate this, what's more puzzling is how the compiler gets the bright idea that "(long)NULL" and "(char)NULL" are fine where "(int)NULL is not"...
(also, yes as mentioned the compiler is mingw/gcc)