title: std::find 'error no matching function'
body: <p>Say that I have a class A and a class B that look like that:</p>
  
  <pre><code>Class A
  {
  private:
      int a;
  public :
  bool operator==(const A &amp;) const;
  //other methods(...)
  }
  
  Class B
  {
  private:
  std::vector&lt;A&gt; v;
  public:
  std::vector&lt;A&gt; &amp;get_v() {return v;};
  const std::vector&lt;A&gt;&amp; get_v() const;
  }
  </code></pre>
  
  <p>Now when I do that:</p>
  
  <pre><code>B b;
  std::vector&lt;A&gt;::iterator it;
  it=std::find (b.get_v().begin(), b.get_v().end(), an item of class A);
  </code></pre>
  
  <p>The error I get is</p>
  
  <pre><code>error: no matching function for call to 'find(std::vector&lt;A&gt;::iterator, std::vector&lt;A&gt;::iterator, A&amp;)
  </code></pre>
  
  <p>Am I missing something ? Thanks</p>