void function(int & const a){
a=4;
}
上面的代码段在Visual Studio中运行正常,但在DevC ++和其他IDE中失败,
错误消息:'const' qualifiers cannot be applied to 'int&'
我们正在初始化指向int的常量指针是有道理的。如果我们需要在初始化时提到常量指针的值,它仍然不起作用但在Visual Studio中工作正常
main(){
int a=10;
int & const p_a=&a; //works in Visual Studio
cout<<p_a<<endl;
}
关于约束的解释以及解决它的方法会很有帮助
答案 0 :(得分:0)
int & const
语法不正确,int&
是一个引用(int
),const
无法限定。更确切地说,您不能声明const引用。另一方面,声明对const
(即const int &
)的引用是可以的。
我希望指针是常量,值可以修改
你想要的是指针,所以它应该是int * const
(即const指向非const int
)。