title: No matching member function for call to 'push_back' error
body: <pre><code>//fleet.h 
  #include "ship.h"
  #include &lt;vector&gt;
  #include &lt;iostream&gt;
  #ifndef fleet_h
  #define fleet_h
  using namespace std;
  
  class fleet
  {
  public:
  
  //Add_ship and remove_ship method
  bool add_ship(ship const &amp;s);
  
  private:
  vector&lt;ship*&gt; ships;
  };
  
  //Add_ship method
  bool fleet::add_ship(ship const &amp; s){
      ships.push_back(&amp;s); 
         return true;
  }
  #endif /* fleet_h */
  </code></pre>
  
  <p>The program gives me this error and I'm not sure what did I do wrong. ship objects are added to fleet via a method called add_ship, which takes a pointer to a ship.</p>
  
  <pre><code>No matching member function for call 'push_back'
  </code></pre>