请教:关于函数模板参数是自定义类的问题
代码如下:
class CDog
{
private:
CString m_Name;
public:
CDog(CString Name)
{
m_Name = Name;
};
CDog()
{
CDog("Dog");
};
~CDog(){};
CString GetName()
{
return m_Name;
};
};
class CCat
{
private:
CString m_Name;
public:
CCat(CString Name)
{
m_Name = Name;
};
CCat()
{
CCat("CCat");
};
~CCat(){};
CString GetName()
{
return m_Name;
};
};
template<class T>
CString DataOut(T const& Src)
{
return Src.GetName();
}
//使用模板过程
...
CCat* obj = new CCat("Black Cat");
cout << "Getname:" << (LPCTSTR)DataOut(obj) << endl;
delete obj;
...
编译时提示:“'.GetName' must have class/struct/union type”。
象这样的问题用模板该怎么解决呢。