VS2010 中的函数错误

the function error in vs2010

本文关键字:错误 函数 VS2010      更新时间:2023-10-16

我在vs2010中写了以下内容:

int test() const;

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

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

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

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

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

从C++标准:

  • 9.3.1 非静态成员函数

非静态成员函数可以声明为常量、易失性或常量易失性。

  • 9.4.1 静态成员函数

静态成员函数不得声明为常量、易失性或常量易失性。

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