c++语言//template <> 啥意思?该如何解决

c++语言//template <> 啥意思????

template <class T>
class Singleton
{
public:
Singleton()
{
msInstance = static_cast<T*>(this);
}

virtual ~Singleton()
{
msInstance = NULL;
}

static T& getInstance()
{
return (*getInstancePtr());
}

static T* getInstancePtr()
{
return msInstance;
}

static const char* getClassTypeName()
{
return mClassTypeName;
}
private:
static T* msInstance;
protected:
static const char* mClassTypeName;
};

class tdata : public Singleton<tdata>{

};

template <> tdata* Singleton<tdata>::msInstance = NULL;
template <> const char* Singleton<tdata>::mClassTypeName("Console");

int _tmain(int argc, _TCHAR* argv[])
{
tdata* a = new tdata;
return 0;
}

------解决方案--------------------
template <> tdata* Singleton<tdata>::msInstance = NULL;
template <> const char* Singleton<tdata>::mClassTypeName("Console");
//去掉template <> 与不去掉 啥区别???

引用:
模板呀大哥  好好看下书
你给的是一个单件类的模板