我是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)。如果这是您的课程材料包含的内容,您应该抱怨并要求退款。 –