写了一个find算法模板,接受一对迭代器和一个值,只有传入2的时候会打印 “找到了2”,传入3,4,5,的时候还是打印“找到了2”
而传入1的时候却报错vector iterator incompatible,不知道哪里出错了
template<typename I,typename T >
I mFind(I b,I e, const T& val)
{
while (b != e && *b != val)
{
b++;
return b;
}
}
int main()
{
vector<int>v = { 1,2,3,4,5 };
auto iter = mFind(v.begin(), v.end(), 2);
if (iter == v.end())
cout << "没有找到" << endl;
else
cout << "找到了" << *iter << endl;
return 0;
}