引用的数组是不能当函数的参数的。
数组作为函数形参传递时,实际上是传递了数组首元素指针的一个副本,因为不能用一个数组初始化另外一个数组,所以数组作为形参时,函数是不知道这个数组的元素个数,只知道数组地址。例如void test(int* a),编译器只知道a是指针,不知道a指向多少个元素,甚至根本不知道a是一个数组,如何解决呢,有两种方法:
第一,增加一个参数表示元素个数,void test(int* a, int n)
第二,传递数组的引用void test(int (&a)[5]),调用的时候必须要传递一个元素有5个的数组;