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

Reply via email to