#C++模板和异常处理代码问题

根据提示代码设计一个函数模板,能求一维数组中的所有元素的和,并写出调用此函数模板的完整程序,使得函数调用时,可以处理int、double类型的数组。
运行结果如下:(运算结果因输入值差异,不是唯一)

img


提示代码:

T sum(T* array,int size=0)
......
int  array1[]={......};
double array2[]={......};


按照要求写模板函数就可以了啊,有什么困难
参考:

#include <iostream>
using namespace std;
template<typename T>
T sum(T* array,int size=0)
{
    T sums = 0;
    for(int i=0;i<size;i++)
        sums += array[i];
    return sums;
}
int main()
{
    int a[5] = {1,2,3,4,5};
    double b[5] = {9.1,8.34,4.13,-3.913,0.923};

    int s1 = sum(a,5);
    double s2 = sum(b,5);
    cout<<"整型数组和:"<<s1<<endl;
    cout<<"浮点型数组和:"<<s2<<endl;
    return 0;
}


template<typename T,int size>
T SUM(T(&arr)[size]) {
    T res=T();
    for(T& t:arr){
        res+=t;
    }
    return res;
}

int main()
{
    int narr[]{1,2,3};
    double farr[]{1.0,2.0,3.0};
    cout<<SUM(narr)<<endl;
    cout<<SUM(farr)<<endl;
    return 0;
}

可以看下cpp参考手册中的 c++-模板您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632