代码:
#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
本文探讨了C++中static成员函数的特性及其限制,包括不能拥有cv限定符的原因,并解释了这些规则背后的逻辑。
489

被折叠的 条评论
为什么被折叠?



