Possible Duplicate:
What is useful about a reference-to-array parameter?
Are
void myFunction( int (&arg)[4] );
and
void myfunction(int arg[4]);
different? How are they different? What do the first do and how can I call it?
Possible Duplicate:
What is useful about a reference-to-array parameter?
Are
void myFunction( int (&arg)[4] );
and
void myfunction(int arg[4]);
different? How are they different? What do the first do and how can I call it?
They are different. The first one takes a reference to an array of 4 ints as its argument. The second one takes a pointer to the first element of array of an unknown number of ints as its argument.
int array1[4] = {0};
int array2[20] = {0};
void myFunction1( int (&arg)[4] );
void myFunction2( int arg[4] );
myFunction1( array1 ); // ok
myFunction1( array2 ); // error, size of argument array is not 4
myFunction2( array1 ); // ok
myFunction2( array2 ); // ok