读书人

简单的静态成员变量有关问题

发布时间: 2012-02-17 17:50:42 作者: rapoo

简单的静态成员变量问题
Test.h

class CStudent
{
public:
CStudent()
{
nCnt = 20;
}
virtual ~CStudent();
static int nCnt;
void Show();
};
这样编译没问题。

如果我把CStudent()放在它的cpp文件中定义就出现编译错误,不知是什么原因?
Test.h

class CStudent
{
public:
CStudent();
virtual ~CStudent();
static int nCnt;
void Show();
};

Test.cpp
CStudent::CStudent()
{
nCnt = 20;
}

谢谢!!

[解决办法]
都不行的这样
你的nCnt未分配内存
需在类的定义之外定义这个变量,以分配内存的
[解决办法]
#include "B.h "
CStudent::CStudent()
{
}

int CStudent::nCnt=20;

读书人网 >C++

热点推荐