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

实现singleton时出错了,高手来看看…该怎么解决

2012-02-21 
实现singleton时出错了,高手来看看……想做个孤子类:classClientTable{public:staticClientTable*ClientTabl

实现singleton时出错了,高手来看看……
想做个孤子类:
class   ClientTable
{
public   :
static   ClientTable   *ClientTable::getClientTable()
{
if(ClientTable::sm_pClientTable   ==   NULL)
{
ClientTable::sm_pClientTable   =   new   ClientTable;
}
return   ClientTable::sm_pClientTable;
}
int   getTableLength();
int   addFromBuff(void   *clientInfoBuff,   int   clientInfoCount);
int   addClient(CLIENTINFO   newClientInfo);
void   cleanTable();
void   showTable();
~ClientTable();

private   :
ClientTable();
static   ClientTable   *sm_pClientTable;
PCLIENTTABLENODE   clientLink;
};

执行下面代码
ClientTable   *myTable   =   NULL;
myTable   =   ClientTable::getClientTable();
后报错:
error   LNK2001:   unresolved   external   symbol   "private:   __thiscall   ClientTable::ClientTable(void) "   (??0ClientTable@@AAE@XZ)

error   LNK2001:   unresolved   external   symbol   "private:   static   class   ClientTable   *   ClientTable::sm_pClientTable "   (?sm_pClientTable@ClientTable@@0PAV1@A)

大家看看什么原因

[解决办法]
构造函数以及static成员变量pClientTable有声明无定义

热点排行