以下程序哪里错了
#include <iostream>
#include <cstdlib>
using namespace std;
template <class Type>
int count(Type *s,int sz,const Type &which)
{
int n=0;
for(int i=0;i<sz;++i)
if(a[i]==which)
n++;
return n;
}
int main()
{
double a[]={10.0,20.0,30.0,40.0,50.0,30.0,70.0,80.0,30.0};
cout<<"count(a,9,30.0) should return 3:"
<<count(a,9,30.0)<<endl;
int b[]={10,20,30,40,50,30,70,80,30};
cout<<"count(b,9,30) should return 3:"
<<count(b,9,30)<<endl;
char c[]={'a','a','c','a'};
cout<<"count(c,4,'a') should return 3:"
<<count(c,4,'a')<<endl;
string d[]={"aa","aa","aa"};
cout<<"count(d,3,\"aa\") should return 3:"
<<count(d,3,string("aa"))<<endl;
string e[]={"bb","aa","aa"};
cout<<"count(e,3,\"aa\") should return 2:"
<<count(e,3,string("aa"))<<endl;
system("pause");
return 0;
}