我在vs2010中写了以下内容:
int test() const;
它告诉我const
使用不正确。并说:
非成员函数不允许使用类型限定符
我想知道为什么,是vs的问题吗?或者如何在vs中使用这样的功能?
我在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++ 标准:
非静态成员函数可以声明为 const、volatile 或 const volatile。
静态成员函数不得声明为 const、volatile 或 const volatile。
const 在该上下文中意味着此方法不会修改任何成员变量。如果它不是一个类的方法(即它是一个自由浮动函数),那么它就没有任何意义。