急VS2010下控制台程序的链接有关问题

急,VS2010下控制台程序的链接问题
各位好,在VS2010下试了一个控制台程序,却报出如下错误:
1>TSingleton.obj : error LNK2001: 无法解析的外部符号 "private: static class CSingleton * CSingleton::m_Singleton" (?m_Singleton@CSingleton@@0PAV1@A)
1>c:\users\jefferson\documents\visual studio 2010\Projects\TSingleton\Debug\TSingleton.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>

,网上查了下,试着根据提示将/subsystem:console改成其他内容也不行,在此求各位看看是怎么回事了,多谢了先!

程序代码如下:


// TSingleton.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

class CBase{

public:
CBase() { cout<< "CBase constructor\n" << endl; }

private:
CBase operator= (const CBase&);
CBase(const CBase&);
};

class CSingleton: private CBase{

private:
CSingleton(){ cout<< "CSingleton constructor\n" << endl; n = 10; }
static CSingleton *m_Singleton;
int n;

public:
static CSingleton* createInstance();
void getvalue(){ cout<< "n = %d\n" << n << endl; };

//~CSingleton(){ cout<< "CSingleton desstructor\n" << endl; n = 0; delete m_Singleton; }
};

CSingleton* CSingleton::createInstance(){

if(m_Singleton == NULL){ m_Singleton = new CSingleton; }

return m_Singleton;
};

//CSingleton::m_Singleton = NULL;

//CSingleton::

int _tmain(int argc, _TCHAR* argv[])
{
CSingleton* p = CSingleton::createInstance(); 
p->getvalue();

return 0;
}


------解决思路----------------------
//CSingleton::m_Singleton = NULL;

这一句怎么注释掉了? 把它加回去
------解决思路----------------------
CSingleton * CSingleton::m_Singleton = NULL;在类外初始化后应该就可以了