怎么用template函数
1个回答
推荐于2017-09-11 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
template并不是一个函数,而是用来声明模板的关键字,为了泛型编程。
另外你min方法是作用在vector上的,不能对intArray求min。程序应该这么写
//声明如下,最好别取min这个名字,c++里已经有min的宏定义
template <class elemType>
elemType mymin( elemType *first, elemType *last);
//
int main()
{
int intArray[] = {5, 10, 7, 9, 1, 4, 2},
N = sizeof(intArray)/sizeof(int);
int minInt = mymin(intArray, intArray+N); //调用时参数是首尾指针
cout << minInt;
}
//函数实现
template <class elemType>
elemType mymin( elemType *first, elemType *last)
{
int minElem = *first;
while(++first != last)
{
if(minElem > *first)
minElem = *first;
}
return minElem;
}
另外你min方法是作用在vector上的,不能对intArray求min。程序应该这么写
//声明如下,最好别取min这个名字,c++里已经有min的宏定义
template <class elemType>
elemType mymin( elemType *first, elemType *last);
//
int main()
{
int intArray[] = {5, 10, 7, 9, 1, 4, 2},
N = sizeof(intArray)/sizeof(int);
int minInt = mymin(intArray, intArray+N); //调用时参数是首尾指针
cout << minInt;
}
//函数实现
template <class elemType>
elemType mymin( elemType *first, elemType *last)
{
int minElem = *first;
while(++first != last)
{
if(minElem > *first)
minElem = *first;
}
return minElem;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询