void foo (const int (*h)[2], int (*i)[2]) { 1 ? h: i; } Also rejected in C99 mode.
Subject: Re: New: GCC rejects the following strictly conforming code with -ansi -pedantic errors > > void foo (const int (*h)[2], int (*i)[2]) > { > 1 ? h: i; > } > > Also rejected in C99 mode. ICC warns: t.c(3): warning #42: operand types are incompatible ("const int (*)[2]" and "int (*)[2]") So maybe this is not valid C, I don't know. -- Pinski
Discussing with pinskia, I believe qualifying the array type is intended to be viewed as qualifying the element type, not the array, so the example is invalid.