void* vs void *

Magnus Fromreide magfr@lysator.liu.se
Fri Jan 29 18:13:00 GMT 2016


I just noticed that the C and C++ compiler output pointer types differently:

Consider

int i;
printf("%p", &i);

When compiled as C that gives the warning

format '%p' expects argument of type 'void *', but argument 2 has type 'int *'

but when compiled as C++ it gives the warning

format '%p' expects argument of type 'void*', but argument 2 has type 'int*'

Why are they different?

/MF



More information about the Gcc mailing list