不管什么类型的数组,都有一些类似的操作,因此可以使用函数模板实现代码复用。但是我在实现“查找”功能时不知道怎么处理结构体数组。要保证函数模板不仅适用于结构体数组,还适用于其他数组。求助各位大神!
#include
using namespace std;
#define N 10
struct stu
{
int num;
double score;
};
/*查找:查找某元素,返回其下标*/
template
int Find(ArrType a[], ElemType e)
{
int i;
for (i=0;i<N;i++)
{
if(a[i]==e)//若为结构体数组,编译不通过
return i;
}
return -1;
}
int main()
{
int i;
struct stu a[N]={2,60,1,50,3,70,5,90};
struct stu e={4,80};
Find(a,e);
for(i=0;i<N;i++)
{
cout<<a[i].num<<' ';
cout<<a[i].score<<endl;
}
cout<<endl;
return 0;
}
C++中带有数组参数的函数模板是否可以实例化为结构体数组类型来进行比较等操作?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- shjyou 2014-03-16 06:02关注
out<<a[i].num<<' ';
cout<<a[i].score<<endl;
}
cout<<endl;
return 0;
}
上述代码段出现错误解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题