0

我在vs2010中写了以下内容:

int test() const;

它告诉我const使用不正确。并说:

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

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

4

2 回答 2

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。

于 2012-08-15T14:05:46.963 回答
0

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

于 2012-08-15T14:05:17.703 回答