C++关于函数模板程序代码出错,请大神们帮我看下哪里出错了
以下是我的代码:#include<iostream>usingnamespacestd;template<classT>intsum(Ta[]){intc=sizeof(...
以下是我的代码:
#include<iostream>
using namespace std;
template <class T>
int sum(T a[])
{
int c=sizeof(a)/sizeof(a[0]);
int sum=0;
for(int counter=0;counter<c;counter++)
sum+=a[counter];
return sum;
}
int main()
{
int A[10];
cout<<"input an integer string"<<endl;
cin>>A;
cout<<sum(A)<<endl;
}
这是报错,我初学C++,谢谢大神们帮忙指正 展开
#include<iostream>
using namespace std;
template <class T>
int sum(T a[])
{
int c=sizeof(a)/sizeof(a[0]);
int sum=0;
for(int counter=0;counter<c;counter++)
sum+=a[counter];
return sum;
}
int main()
{
int A[10];
cout<<"input an integer string"<<endl;
cin>>A;
cout<<sum(A)<<endl;
}
这是报错,我初学C++,谢谢大神们帮忙指正 展开
1个回答
推荐于2016-06-09
展开全部
……恕在下直言,没有几处是对的
在下重写了一份
#include<iostream>
using namespace std;
template <class T, int N>
T sum(T (&a)[N])// 按引用传递数组
{
int c=sizeof(a)/sizeof(a[0]); // 亦可直接写作int c=N;
T sum=0;
for(int counter=0;counter<c;++counter)
sum+=a[counter];
return sum;
}
int main()
{
int A[10];
cout<<"input a series of integer "<<endl;
for (int i = 0; i < 10; ++i)
cin>>A[i];
cout<<sum(A)<<endl;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询