static成员
c++禁止在类声明中初始化非常量static成员
也就是说,如果你的【static】类成员既不没有【const】,也不是enum成员
那么c++编译器将禁止在类声明中初始化【static】成员
典型编译报错
如何为static成员赋值?
在类实现中使用作用域解析运算符 :: 指出所属类,再对其中的static成员赋值
下面是类声明
#ifndef _FOO_H_
#define _FOO_H_
class Foo{
private:
static int a;
}
#endif
在类实现里面才初始化
#include "Foo.h"
int a = 1;
但是类实现里面就不需要再用static修饰a了