数据类型和实现方式的差异Visual Studio和其他中的const var_name

时间:2017-02-15 06:40:13

标签: c++ const

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;
} 

关于约束的解释以及解决它的方法会很有帮助

1 个答案:

答案 0 :(得分:0)

int & const语法不正确,int&是一个引用(int),const无法限定。更确切地说,您不能声明const引用。另一方面,声明对const(即const int &)的引用是可以的。

  

我希望指针是常量,值可以修改

你想要的是指针,所以它应该是int * const(即const指向非const int)。