需求
在类内直接初始化非常量静态成员,编译时给了报错: error: ISO C++ forbids in-class initialization of non-const static member
解决
解决也非常简单,使用 C++17
, 然后增加 inline
标识,就可以了。
class A
{
virtual void fun1(){};
int a;
public:
static inline int b=0;
}
参考
C++:错误:ISO C++ forbids in-class initialization of non-const static member ‘A::b’