title: Vector iterator not dereferencable
body: <p>I have an abstract base class called Shape from which both Circle and Rectangle are derived, but when I execute the following code in VS 2005 I get the error Debug assertion failed. At the same time I have not overloaded == operator in any class</p>
  
  <p>Expression:Vector iterator not dereferencable, what is the reason for this.</p>
  
  <pre><code>  vector&lt;Shape*&gt; s1;
    s1.push_back(new Circle(point(1,2),3));
    s1.push_back(new Circle(point(4,3),5));
    s1.push_back(new Rectangle(point(1,1),4,5));
  
    vector&lt;Shape*&gt; s2(s1);
    reverse(s1.begin(),s1.end());
  
    (*find(s1.begin(),s1.end(),new Circle(point(1,2),3)))-&gt;move(point(10,20));
  </code></pre>