这是可能的重复问题:
什么是引用到数组参数的好处?
是否
void myFunction( int (&arg)[4] );
并且
void myfunction(int arg[4]);
两者有什么不同?它们各自的功能是什么,我该如何调用第一个?
这是可能的重复问题:
什么是引用到数组参数的好处?
是否
void myFunction( int (&arg)[4] );
并且
void myfunction(int arg[4]);
它们是不同的。第一种需要一个包含4个整数的数组的引用作为参数。第二种需要一个指向未知数量整数的数组中第一个元素的指针作为参数。
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
vector
代替。更好的选择是使用vector::iterator
。 - John Dibling