这段代码有什么问题,大侠看一下
- C/C++ code
#include <iostream>#include <vector>#include <algorithm>template <typename Type,typename elem>typename Type::iterator mostfreq(typename Type::iterator beg,typename Type::iterator end){ typename Type::iterator itfind = beg, begin = beg; for (;begin<end; begin++) { if (count(beg,end,*begin)>count(beg,end, *itfind)) itfind = begin; } return *itfind;}int main(){ std::vector<int> ivec; int ival; while(std::cin>>ival) { ivec.push_back(ival); } std::cout<<*mostfreq(ivec.begin(),ivec.end()); system("pause"); return 0; }运行后显示没有匹配函数mostfreq
[解决办法]
template <typename Type,typename elem>
改成template <typename Type>
std::cout<<*mostfreq(ivec.begin(),ivec.end());
改成std::cout<<*mostfreq< vector<int> > (ivec.begin(),ivec.end());