title: Argument being passed as integer?
body: <pre><code>class Game {
    public:
      void draw_string(const char *text, int x, int y, TTF_Font *font, SDL_Color color, bool center);
  
    private:
      void spawn_enemies(vector &lt;Enemy*&gt;&amp; enemies);
  };
  </code></pre>
  
  <p>I have that as the definition of a class, and the definition of spawn_enemies is as follows:</p>
  
  <pre><code>void Game::spawn_enemies(vector &lt;Enemy*&gt;&amp; enemies) {
    if (rand() % difficulty == 0) {
      Enemy *enemy = new Enemy(screen, zombie_image);
      enemies.push_back(enemy);
    }
  }
  </code></pre>
  
  <p>And then I call spawn_enemies:</p>
  
  <pre><code>game.spawn_enemies(enemies);
  </code></pre>
  
  <p>And I define enemies as:</p>
  
  <pre><code>vector&lt;Enemy*&gt; enemies;
  </code></pre>
  
  <p>Any idea of why I get this error:</p>
  
  <pre><code>error: no matching function for call to ‘Game::spawn_enemies(std::vector&lt;Enemy*&gt;&amp;)’            
  note: candidate is:
  note: void Game::spawn_enemies(int)
  note:   no known conversion for argument 1 from ‘std::vector&lt;Enemy*&gt;’ to ‘int’
  </code></pre>