【发布时间】:2017-09-19 03:54:50
【问题描述】:
我是 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的地址作为参数,所以我们在main中调用callByRef时,为什么需要传入(k, m)而不是(&k, &m) ?
这是基本的,但我只是想为我未来的学习拍一张合适的照片。 谢谢大家!
【问题讨论】:
-
"我们用a和b的地址作为参数"什么?声明应该类似于
void callByRef(int& a, int& b),这不是获取参数的地址,而是将它们声明为引用。 -
void callByRef(&a, &b)is not legal C++。如果您的课程材料包含这些内容,您应该投诉并要求退款。
标签: c++ reference pass-by-reference