On 29 January 2016 at 18:13, Magnus Fromreide wrote: > 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?
Just a guess, but maybe because it's common to place the * differently in idiomatic C++. http://stroustrup.com/bs_faq2.html#whitespace