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

被折叠的 条评论
为什么被折叠?



