C ++通过引用传递数组

时间:2012-10-17 15:08:21

标签: c++ arrays reference

  

可能重复:
  What is useful about a reference-to-array parameter?

void myFunction( int (&arg)[4] );

void myfunction(int arg[4]);

不同?他们有什么不同?首先做什么以及如何称呼它?

1 个答案:

答案 0 :(得分:7)

他们是不同的。第一个引用4个int的数组作为其参数。第二个采用指向未知数量的int的数组的第一个元素作为其参数。

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
相关问题