C++ vs2010中的函数错误

C++ vs2010中的函数错误,c++,visual-studio-2010,C++,Visual Studio 2010,我在vs2010中写了以下内容: int test() const; 它告诉我const使用不正确,并说: 非成员函数不允许使用类型限定符 我想知道为什么,这是vs的问题吗?或者如何在vs中使用这样的函数?const在这种上下文中意味着此方法不会修改任何成员变量。如果它不是一个类的方法(即,它是一个自由浮动函数),那么它就没有意义。const当应用于函数时,它只适用于非静态成员函数,而不适用于自由函数或静态成员函数 class A { void f1() const; /

我在vs2010中写了以下内容:

int test() const;
它告诉我
const
使用不正确,并说:

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


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

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

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


你想实现什么?是的,但失败了,我不知道why@DevilTour这并没有回答我的问题,我们知道它失败了。。但是你没有说你想做什么achieve@BugFinder这只是一个测试,有件事。我读了《圣经》the@bugfinder数据结构它写函数,就像我的例子,那么为什么它们不同呢?但在我的书中,它是这样写的,它不是在类中,他忘记了吗?或者是因为其他原因。也许作者只是放大了一个实际上是类的一部分的方法。