参考C ++的初始化

时间:2017-01-02 17:43:56

标签: c++ c++11 reference initialization

我最近开始学习C ++并偶然发现了这个问题。 请原谅我,如果听起来很愚蠢,但为什么我们不能通过

将值初始化为参考变量
int r= 20;
int &ref = r;
ref(20);

虽然这种初始化值20的方法在不使用它作为参考变量时起作用。

IDE:C ++ 11

为什么会这样?

1 个答案:

答案 0 :(得分:2)

  

虽然这种初始化值20的方法在不使用它作为参考变量时起作用。

它在什么意义上有效?现在编译器ref(20);看起来像是一个函数调用,如果你将int &ref更改为int ref,你仍然会得到同样的错误。

我认为你的意思是int r(20);确实有效。在引用的情况下,它们必须首先绑定到它们引用的变量,这使得无法绑定到变量并同时赋值 - 如果这是您所询问的。