vs2010中的函数错误

时间:2012-08-15 14:02:41

标签: c++ visual-studio-2010

我在vs2010中写了以下内容:

int test() const;

它告诉我const使用错误。并说:

  

非成员函数不允许使用类型限定符

我想知道为什么,vs?或者如何在vs中使用这样的功能?

2 个答案:

答案 0 :(得分:1)

应用于函数时,

const仅适用于非静态成员函数,而不适用于自由函数或静态成员函数。

class A
{
    void f1() const;        // OK
    static void f2() const; // Not OK
};

void f3() const; // Not OK

来自C ++标准:

  • 9.3.1非静态成员函数
  

非静态成员函数可以声明为const,volatile或const volatile。

  • 9.4.1静态成员函数
  

静态成员函数不应声明为const,volatile或const volatile。

答案 1 :(得分:0)

该上下文中的

const意味着此方法不会修改任何成员变量。如果它不是一个类的方法(即它是一个自由浮动函数),那么它没有意义。