我到处都看到静态成员函数不能是const。在下面的代码中,当我尝试使用静态成员函数为const的代码块执行此操作时,我实际上得到了输出。那么,这可能吗?或者仅支持更新版本的C ++?
#include<iostream>
using namespace std;
class s{
public:static const int x=2;
const static int fun(){
return x+1;
}
};
int main(){
s obj;
cout<<obj.x<<endl;
cout<<obj.fun()<<endl;
return 0;
}
output: 2
3
答案 0 :(得分:1)
const
限定符必须在函数参数列表之后写入,并且不允许使用静态成员函数:
static int fun() const // error const qualifier is not allowed on static member function
{
您声明了一个函数返回const int
,但它也没有多大意义。