我是C++新手,現在通過參考學習調用。爲什麼我們必須將值而不是地址傳遞給C++中的「通過引用調用」函數?
我得知這個代碼塊在我的材料:
void callByRef(&a, &b);
int main(){
int k = 12;
int m = 4;
callByRef(k, m) //QUESTION HERE
return 0;
}
void callByRef(&a, &b){
a += 3;
b -= 2;
return;
}
所以我的問題是宣告callByRef時,我們使用的a和b的地址作爲參數,所以當我們調用callByRef爲主,爲什麼我們需要通過(k,m)而不是(& k,& m)?
這是基本的,但我只是想爲我未來的學習找到合適的圖片。 謝謝你們!
「我們使用a和b的地址作爲參數」什麼?該聲明應該看起來像'void callByRef(int&a,int&b)',這就是__not__獲取參數的地址,它聲明它們爲引用。 – tkausl
'void callByRef(&a,&b)'[不是合法的C++](https://ideone.com/dpTUvj)。如果這是您的課程材料包含的內容,您應該抱怨並要求退款。 –