If I have a function...
void f(int x[3]) {}
...is this distinguishable from a function...
void f(int* x) {}
If not, where in the standard does it address this issue?
Clearly there are array-to-pointer standard conversions, but I don't think they apply here?
I seem to remember language which said something to this effect, but can't seem to find it.
$ cat t.cc
void f(int x[3]) {}
void f(int* x) {}
$ g++ t.cc
t.cc: In function ‘void f(int*)’:
t.cc:3:6: error: redefinition of ‘void f(int*)’
void f(int* x) {}
^
t.cc:1:6: note: ‘void f(int*)’ previously defined here
void f(int x[3]) {}
^