我最近开始学习C ++并偶然发现了这个问题。 请原谅我,如果听起来很愚蠢,但为什么我们不能通过
将值初始化为参考变量int r= 20;
int &ref = r;
ref(20);
虽然这种初始化值20的方法在不使用它作为参考变量时起作用。
IDE:C ++ 11
为什么会这样?
答案 0 :(得分:2)
虽然这种初始化值20的方法在不使用它作为参考变量时起作用。
它在什么意义上有效?现在编译器ref(20);
看起来像是一个函数调用,如果你将int &ref
更改为int ref
,你仍然会得到同样的错误。
我认为你的意思是int r(20);
确实有效。在引用的情况下,它们必须首先绑定到它们引用的变量,这使得无法绑定到变量并同时赋值 - 如果这是您所询问的。