C++函数模板问题

来源:互联网 发布:淘宝上买号怎么领取 编辑:程序博客网 时间:2024/05/01 02:55
#include <cstdlib>
#include <iostream> 
using namespace std; 


template <typename T,int N>
T allAry(T(&ary)[N])
{
T sum=0;
for(int i=0;i<N;i++)
{
sum+=ary[i];
}
return sum;
}
int main() 
{


int aa[5]={1,2,3,4,5};
cout<<allAry(aa)<<endl;
return 0;

上面是我的一小段程序;

可是编译出现了下面错误:

E:\C++\template2\s.cpp(6) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal
E:\C++\template2\s.cpp(19) : error C2784: 'T __cdecl allAry(T (&)[1])' : could not deduce template argument for ' (&)[1]' from 'int [5]'

求高手提示