Eljay Love-Jensen <eljay@xxxxxxxxx> writes: > When I compile this test.cpp source... > > // g++ -Wno-long-long -pedantic -Wall -W -c test.cpp > #define NULL __null > int main() > { > void* p; > p = 0; > p = 0u; > p = 0ul; > p = 0ull; > p = 0l; > p = 0ll; > p = false; > // silly... > p = -0; > p = -0u; > p = -0ul; > p = -0ull; > p = -0l; > p = -0ll; > p = -false; > // my druthers... > p = NULL; > return 0; > } > > ...GCC is happy with all of these assignments. > > Are they all supposed (ISO 14882) to be legit? Some of them surprised me. The standard says that a null pointer constant is "[a]n integer constant expression with the value 0", so these seem all OK. -- Falk