需求:有时候需要在类定义中声明一个常量,怎么声明呢?
常见错误用法:
class Student
{。。。
const int Len=10;
char name[Len]; //错误;声明时,只是描述了对象的形式,并没有真正的创建对象;
}//通俗的讲就是:只是给你说说要给你什么,但并没有给你东西;
//Student类声明中,并没有给Len分配存储10的内存空间,没有地方容纳10,const以后又不允许修改,
建立具体对象时,Len的值不确定
解决:
方法1:枚举 enum{ Len=10 }; //相当于开了个欠条,发工资的时候,也就是建立具体对象时,
char name[Len]; //拿这个欠条去换,也就是用10去替换Len,这是有凭证的
方法2:使用static //在财务处单独给你取了钱(在静态存储区分配了存储区存储10的空间)
const int Len=10;
char name[Len];