template 如何取得T的类型

angelyeti 2006-07-06 05:17:48
template<class Type>
bool EndueValue(struct Node *pNode,Type *T)
{
if(CList::IsExistInList (pNode)==false)
return false;
Type *pData=T;
pNode->m_pData =pData;
return true;
}
如何知道pData指向的内存内容的值的类型呢.
比方说EndueValue(pnode,new int(97));EndueValue(pnode,"hello");我怎么样才知道到底是int型数据还是string型的.
...全文
371 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelyeti 2006-07-07
  • 打赏
  • 举报
回复
:)非常感谢各位.
YeTimmy 2006-07-06
  • 打赏
  • 举报
回复
typeid(pData).name()
这样行不
triace_zhang 2006-07-06
  • 打赏
  • 举报
回复
不是太明白楼主是什么意思,EndueValue(struct Node *pNode,Type *T)的模板参数参数Type要么在调用函数的时候显式指定,如
int a = 2;
EndueValue<int>(pNode,&a); //Type是int型
要么根据实际的参数类型推演:
float *p
EndueValue(pNode, p); //那么Type就是float型.
rollor_phoe 2006-07-06
  • 打赏
  • 举报
回复
请如下调用:
EndueValue<int>(pnode,new int(97));
EndueValue<string>(pnode,"hello");

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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