读书人

关于静态成员对象的初始化有关问题,

发布时间: 2012-03-06 20:47:55 作者: rapoo

关于静态成员对象的初始化问题,请教高手!
类中一个静态成员,不是基本类型对象,是一个std::list对象,如下
class C
{
private:
static list <int> int_list;
public:
static fun();
};
fun()的实现写在CPP里面,其中使用了int_list,结果链接报错,没有找到int_list,我想应该是int_list在类中只进行了声明而非定义,所以报错,现在的问题是,如何在CPP里面进行初始化(也就是定义),有点伤脑袋……

望高手赐教!!!不胜感激!!!!

[解决办法]
在CPP中添加
list <int> C::int_list;
一句,注意名字空间等对它的限定。
[解决办法]
静态成员在cpp需进行的定义,这样才能分配内存,你可以把静态的成员看作一个限制范围的全局量(对其生命周期)

读书人网 >C++

热点推荐