实现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有声明无定义