偶正在学习“泛型编程”,有一些问题不是很明白!请高手指教
根据“泛型编程”的一些技术,写了下面的程序。但是,有一些错误我无法改正。
请高手指教
//
#include <iostream>
using namespace std;
template <class T>
class Titerator_traits
{
public:
typedef T value_type;
};
template <class T>
class Titerator_traits<T*>
{
public:
typedef T value_type;
};
template <class InputIt>
typename Titerator_traits<InputIt>::value_type
sum_nonempty(InputIt first,InputIt last)
{
typename Titerator_traits<InputIt>::value_type result=*first++;
for(;first!=last;++first)
result+=*first;
return result;
}
void main()
{
int a[10];
for(int i=0;i<10;i++)
a[i]=i;
cout<<sum_nonempty(a,a+10)<<endl;
}