学习ING

undefined reference to '.....'

编译时出现这样的问题,所有的报错都指向同一个变量:定义的time,开始就是定义为int型,没问题,改为static后就报错了,查了书才发现静态数据成员的定义及初始化与一般变量不同

在类的生命中只能声明静态数据成员的存在,由于类的声明是抽象的,静态数据成员的初始化需要在类的外部进行。比如

class Student

{……

private:

static int count;   //若写成count=0则非法,声明时没有占用空间

……}

类外部

int Student::count=0;    //实际占用了空间

静态数据成员在类外非配空间和初始化,在类函数内部进行修改。

根据这样的描述,我把静态的time 型的初始化挪到外面去就一切OK了~

还是基本功不扎实啊!!!

总结一下,一般出现这样的报错肯定是哪里没有写规范而一般不是没有链接上某个库的原因,所以要做的就是仔细分析牵涉到的变量从声明到初始化到使用是不是都是正确的,或者看看使用这个变量的函数有没有问题~
posted @ 2010-07-28 18:05  祝雄锋  阅读(569)  评论(0编辑  收藏  举报