C++中带有数组参数的函数模板是否可以实例化为结构体数组类型来进行比较等操作?

不管什么类型的数组,都有一些类似的操作,因此可以使用函数模板实现代码复用。但是我在实现“查找”功能时不知道怎么处理结构体数组。要保证函数模板不仅适用于结构体数组,还适用于其他数组。求助各位大神!
#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;
}

1个回答

out<<a[i].num<<' ';
cout<<a[i].score<<endl;
}
cout<<endl;
return 0;
}
上述代码段出现错误

u013022927
小--瓣 嗯!疏忽了。。不过第15行的代码不适用于结构体数组,请问要怎么改呢?
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐