静态数据成员不是类中各个对象的一部分,所以它可以与类具有相同的类型,为什么这代码会报错?
#include <iostream>
using namespace std;
class AA
{
public:
AA(int a=9):num(a){};
void show()
{
cout < <num < <endl;
}
private:
static AA refAA();
int num;
};
AA::AA refAA(2); //静态成员初始化
int main()
{
AA::refAA.show();
}
[解决办法]
static AA refAA(); 不要加括号 static AA refAA;
[解决办法]
还有
AA AA::refAA(2);
[解决办法]
class A
{
public:
A(){}
static A sa;
int a;
};
A A::sa;
int main()
{
A aObj;
aObj.sa = aObj;
cout < < sizeof(A) < < endl;
return 0;
}