C++中单例使用 无法通过Link,请教一下达人们
百分百好牛 2012-01-11 11:35:34 下面的代码放在头文件里面
class CSingleton
{
public:
static CSingleton * GetInstance()
{
if (m_pInstance == NULL)
m_pInstance = new CSingleton();
return m_pInstance;
}
private:
CSingleton(){};
static CSingleton * m_pInstance;
};
main.cpp引用上面的头文件,然后在main函数里面调用
CSingleton *cs = CSingleton::GetInstance();
结果报错Link错误
error LNK2001: unresolved external symbol "private: static class demo::CSingleton * demo::CSingleton::m_pInstance" (?m_pInstance@CSingleton@demo@@0PAV12@A)
整了半天,也没有整好。把CSingleton *cs = CSingleton::GetInstance();这一句删除掉,就能够通过。但是我还是需要用这个单例呢。