-2
具有阵列传递参数:通过引用
int a = { 1 ,2 , 3}
我可以以修改它传递一个指针的函数。
int modify(int *a){
a[0] = 10;
}
但是为什么我不能传递一个int引用来修改它呢?例如
int modify(int &a){
a[0] = 10;
}
编译器如何使用引用进行操作?通过使用指针,我们传递内存(在这种情况下,是数组的第一个元素)。但是参考文献会发生什么?例如,为什么这样工作?
vector<int > a
void mod(vector<int> & a){
a[0] = 10;
//a.push_back(10)
}
'int modify(int&a){ a = 10; }' – nwp
你没有数组。它应该是'int a [] = {1,2,3};' –