std :: find'错误没有匹配函数'

时间:2014-02-06 17:10:44

标签: c++

假设我有一个类A和一个看起来像这样的B类:

Class A
{
private:
    int a;
public :
bool operator==(const A &) const;
//other methods(...)
}

Class B
{
private:
std::vector<A> v;
public:
std::vector<A> &get_v() {return v;};
const std::vector<A>& get_v() const;
}

现在我这样做了:

B b;
std::vector<A>::iterator it;
it=std::find (b.get_v().begin(), b.get_v().end(), an item of class A);

我得到的错误是

error: no matching function for call to 'find(std::vector<A>::iterator, std::vector<A>::iterator, A&)

我错过了什么吗?感谢

3 个答案:

答案 0 :(得分:73)

你忘了#include <algorithm>

答案 1 :(得分:6)

我认为您忘记了包含标题<algorithm>

答案 2 :(得分:-3)

您忘了包含此标头文件

#include<vector>