static变量
class A
{
static const int size=9;
};
上面这行代码竟然能编译通过,很是诧异啊!!!
看了C++相关书籍: 静态数据成员可以初始化,但只能在类体外进行初始化。
如此一来,static const int size=9;这行代码就应该有误,难道是加了const的原因吗???
求高手解释!!
[解决办法]
你把const加上和屏蔽运行后不就知道是不是这个原因了吗?
[解决办法]
实践出真知~
[解决办法]
恩,是const的原因
[解决办法]
我记得 staitc 的 int 类型的变量比较特殊,可以直接在类声明的时候初始化的
[解决办法]
类成员满足四个条件:
(1) static
(2) const
(3) 整型
(4) 常数
可以在类体内初始化。
[解决办法]
静态数据成员可以初始化,除了各种整型常量外,其它类型的静态数据成员只能在类体外进行初始化。
各种整型常量静态数据成员,可以在类内初始化!!!!!