-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};' –