您的位置:首页 > 编程语言 > C语言/C++

别忘记给c++类中的静态数据成员定义!

2006-05-02 01:35 323 查看
哈哈,好久没有写过c++代码了,今天在一个c++类中定义了一个静态数据成员,结果在编译的时候总是不能通过,报出如下的一个问题:
PartSpecialDemo error LNK2001: 无法解析的外部符号 "public: static int MyClass::COUNT" (?COUNT@MyClass@@2HA)
找了半天,才发现是这个静态数据成员惹得祸,忘记在类外面给这个静态成员变量定义了,原来静态数据成员的声明与定义是分开的,这与类非静态数据成员的声明与定义是不一样的,类非静态数据成员的声明的同时也就是定义,如下面代码所示:
class MyClass
{
private:
static int _snum; //declare static data member,but not define
//static data member
int _num; //declare and define data member
}

int MyClass::_snum = 0; //define static data member
所以在以后的c++代码中千万别忘记了给你的静态数据成员定义!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: