在C ++中创建对常量变量的引用

时间:2013-04-28 03:25:54

标签: c++ reference

编译器表示第3行 的初始化无效  我想创建对 i 的引用,它告诉编译器有人想要更改 i ,我想这个东西带有更新版本的编译器,因为我找到了这段代码在大多数书中。

int main(){
 const int &i=10;
 int &j=1;
 cout<<j;
 return 0;
 }

2 个答案:

答案 0 :(得分:2)

此:

int &j=1;

无效,因为您正在创建一个非const引用(允许您修改引用对象)来自常量值(由于显而易见的原因,无法修改它)。

请改为:

const int &j=1;

此外,声明i的行没有意义。只需将其删除即可。

答案 1 :(得分:0)

除了在int中遗漏const &i=10;之外,下一行的问题是您创建的引用不是const(即允许更改引用的引用)数字1常量。使用以下代码时会遇到同样的问题:

const int i = 1;
int &ri = i;

显而易见的原因。