首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于结构的模板有关问题

2012-02-28 
关于结构的模板问题想做一个结构链表搜索的模板,在指向结构成员时遇到了问题。//结构的原型如下://只有一个

关于结构的模板问题
想做一个结构链表搜索的模板,在指向结构成员时遇到了问题。
//结构的原型如下:
//只有一个指向下一个的结构指针,其他的都是普通的数据类型
typedef   struct   tagDATA
{
CString   strData;
double   dData;
tagDATA   *next;
}DATA;

//测试代码:
#define   STRUCT_DATA   pNext-> strZqdm
#define   QUERY_STRUCT(x,y)   QueryStruct(x,y);

template   <class   STRUCT_T,   class   DATA_T>
STRUCT_T*   QueryStruct(STRUCT_T   *pSct,   DATA_T   data)
{
STRUCT_T   *pNext   =   pSct;
while(pNext)
{
DATA_T   temp   =   STRUCT_DATA;
if   (temp   ==   data)
{
break;
}
pNext   =   pNext-> next;
}
return   pNext;
}

在pNext-> strZqdm这里就遇到了问题,因为定义了很多结构,每个结构不可能都有strZqdm这个成员,要是每个结构都定义一个相同名字的成员来作为查询载体,又感觉很变态,STRUCT_DATA   代表的意思在运行的时候已经固定了.
有没有什么办法能解决这个问题?

[解决办法]
DATA_T data
DATA_T temp = STRUCT_DATA;
这个DATA_T也给它搞成模板.
[解决办法]
用stl里的思想,让用户传给你一个函数指针。

热点排行
Bad Request.