Is my C++ compiler broken?
I keep getting this warning (mingw32):
generated from this line of code:
warning: passing NULL used for non-pointer converting 2 of `void* memset(void*, int, size_t)'
Now if NULL expands to 0 or 0L as supposed in C++, and the second arg to memset is an integer (in any sane world), what the heck is my compiler complaining about not being able to be convert NULL to int?!
memset( array, NULL, sizeof(array) );
Furthermore I get the same problem when using "(int)NULL" to explicit cast, yet it is fine with all of "(long)NULL", "(char) NULL" and "(int)(char)NULL" and "(int)(void*)NULL...!!