读书人

static变量,该怎么解决

发布时间: 2013-03-19 17:22:05 作者: rapoo

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) 常数
可以在类体内初始化。
[解决办法]
静态数据成员可以初始化,除了各种整型常量外,其它类型的静态数据成员只能在类体外进行初始化。
各种整型常量静态数据成员,可以在类内初始化!!!!!

读书人网 >C++

热点推荐