C ++对对象的常量引用

时间:2014-07-15 20:33:38

标签: c++ visual-studio-2012

假设我有代码:

void a(int& const b)
{
}

此代码段在Visual Studio 2012上编译没有问题,但是,使用ideone中的G ++,程序将在编译错误后输出:

error: ‘const’ qualifiers cannot be applied to ‘int&’
  void a(int& const b)
                    ^

所以我想知道哪一个编译器在这个中是正确的?这是Visual Studio中的另一个无限+ 1个错误吗?

请注意,const对视觉效果没有影响,您可以在b

中修改a

1 个答案:

答案 0 :(得分:2)

C ++语法对声明符

采用以下方式
ptr-operator:
* attribute-specifier-seqopt cv-qualifier-seqopt
& attribute-specifier-seqopt
&& attribute-specifier-seqopt

正如所见,引用没有cv-qualifier-seq。

所以我认为它是MS VC ++错误或语言扩展。:)