#include<stdio.h>
template<typename T>
T sum(T *a,int n)
{
T ret=0;
for(int i=0;i<n;i++)
{
ret+=a[i];
}
return ret;
}
template<typename T,int n>
T sum(T *a)
{
T ret=0;
for(int i=0;i<n;i++)
{
ret+=a[i];
}
return ret;
}
template<class T,int n>
T sum2(T *a)
{
T ret=0;
for(int i=0;i<n;i++)
{
ret+=a[i];
}
return ret;
}
void main()
{
int a[4]={1,2,3,4};
float b[3]={1.5,2.5,3.5};
printf("%d,%f\n",sum<int>(a,4),sum<float>(b,3));
printf("%d,%f\n",sum<int,4>(a),sum<float,3>(b));
printf("hello world!\n");
printf("%d,%f\n",sum2<int,4>(a),sum2<float,3>(b));
}
//10,7.500000
//10,7.500000
//hello world!
//10,7.500000
//请按任意键继续. . .