林锐博士的《高质量c++编程》page43中说明不能在类声明中初始化const 数据成员。
以下用法是错误的
class A
{
...
const int SIZE=100;
int array[SIZE];
};
因为类的对象未被创建时,编译器不知道SIZE的值是什么
但是可以把const 数据成员定义为static型就可以了,归类所拥有,不属于对象。
在比较老的编译器中可以采用枚举enum来解决
enum{ SIZE=100};
林锐博士的《高质量c++编程》page43中说明不能在类声明中初始化const 数据成员。
以下用法是错误的
class A
{
...
const int SIZE=100;
int array[SIZE];
};
因为类的对象未被创建时,编译器不知道SIZE的值是什么
但是可以把const 数据成员定义为static型就可以了,归类所拥有,不属于对象。
在比较老的编译器中可以采用枚举enum来解决
enum{ SIZE=100};