自建模板中变量类型处理的问题

work1s 2011-05-08 07:57:15
template <class T,typename M>

class linktest{
public:
linktest(void)
{}
~linktest(void)
{}
T* next;
M key;

T* inst (T* top,M m_key)
{
if(m_key==_T("")) //if(m_key=0) 这里不知道该如何处理,请个位高手指点下
return NULL;
T * a;
a=new T();
a->key=m_key;
.
.
.
.
. }
想问的是变量类型"M" 有个能是数字,也有可能是指针或字符,如何判断它值为空或零啊?
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiuYinChina 2011-05-11
  • 打赏
  • 举报
回复
if(m_key== M())
work1s 2011-05-08
  • 打赏
  • 举报
回复
没办法在模板类处理么?还是说只能实例化后再判断?
work1s 2011-05-08
  • 打赏
  • 举报
回复
不是很清楚它们的用法哦,请讲详细点吧,最好完成以下代码
ouyh12345 2011-05-08
  • 打赏
  • 举报
回复
或者弄一个Compare函数
ouyh12345 2011-05-08
  • 打赏
  • 举报
回复
M是一个类,重载==
jameshooo 2011-05-08
  • 打赏
  • 举报
回复
__if_exists(M::IsEmpty)
{
if (m_key.IsEmpty())
}
__if_not_exists(M::IsEmpty)
{
if (m_key == 0)
}
return NULL;
hztj2005 2011-05-08
  • 打赏
  • 举报
回复
if (typeid(CString)==typeid(m_key)
这样能解决你的问题?
work1s 2011-05-08
  • 打赏
  • 举报
回复
晕死,找了几天才找到个最简单的办法,typeid这个函数
if (typeid(CString)==typeid(m_key)
{
if (m_key==_T(""))
return;
}else{
if(m_key==0)
return;
}

已经找到答案

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧