代码:
#include <iostream>
class myClass
{
static void func() const
{}
};
int main()
{
return 0;
}
报错:error:static member function cannot have cv-qualifier
结论:
1.static成员函数不包含this
指针
2.static成员函数不能为virtual
3.不能存在static和non-static成员函数有相同的名字和参数
4.static 成员函数不能被声明成const、volatile或者const volatile。
原因:
const成员函数用来修饰该成员函数的隐式this
指针为const型,而static成员函数不包含this指针。
参考:
https://stackoverflow.com/questions/19812786/why-cant-a-static-member-function-have-a-cv-qualifier