title: Using a class with a template base class as a base class argument
body: <p>Am I missing something here? or is there a reason this is not allowed?</p>
  
  <pre><code>// the class declaration
  class MapImage : public MapEntity, public Vector2D {};
  
  // the variable declaration
  std::vector&lt;MapImage&gt; healthpacks;
  
  // the function
  void DrawItems(SDL_Surface *dest, std::vector&lt;Vector2D&gt; &amp;items, SDL_Surface *image);
  
  // the implementation
  DrawItems(dest, healthpacks, healthpack_image);
  </code></pre>
  
  <p>since healthpacks is a std::vector of MapImage classes, and MapImage has the base class Vector2D, shouldn't "std::vector healthpacks" be compatible with "std::vector &amp;items" since they have the same base class?</p>