编译器表示第3行 的初始化无效 我想创建对 i 的引用,它告诉编译器有人想要更改 i ,我想这个东西带有更新版本的编译器,因为我找到了这段代码在大多数书中。
int main(){
const int &i=10;
int &j=1;
cout<<j;
return 0;
}
答案 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;
显而易见的原因。