首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

static成员变量,不明白的异常,内详

2012-04-26 
static成员变量,不明白的错误,内详:class A{protected:static int m_test public:void setTest(int data)

static成员变量,不明白的错误,内详:
class A
{
protected:
static int m_test ;

public:
void setTest(int data);

};

void A::setTest(int data)
{
m_test = data;
}


这个时候编译有错误:
classTest.obj : error LNK2001: unresolved external symbol "public: static int A::m_test" (?m_test@A@@2HA)

是为什么? 抄的书上的一个例子,跟这是一样的错误,两天都没解决。

求助!



[解决办法]
class A
{
protected:
static int m_test ;

public:
void setTest(int data);

};

int A:: m_test ;


[解决办法]
int A::m_test(0);
[解决办法]
static没定义 怎么就能用来赋值呢?所谓定义就是一个分配内存的过程 如楼上的代码
[解决办法]
必须在类外进行定义!
[解决办法]
static数据成员必须在类定义体外部定义(正好一次)。不像普通数据成员, static成员不是通过类构造函数进行初始化,而是应该在定义时进行初始化。

热点排行