Const静态成员函数

时间:2017-08-10 18:09:18

标签: c++

我到处都看到静态成员函数不能是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

1 个答案:

答案 0 :(得分:1)

成员函数的

const限定符必须在函数参数列表之后写入,并且不允许使用静态成员函数:

 static int fun() const // error const qualifier is not allowed on static member function
 {

您声明了一个函数返回const int,但它也没有多大意义。