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 <Enemy*>& enemies);
};
我有一個類的定義,並spawn_enemies的定義如下:作爲整數傳遞的參數?
void Game::spawn_enemies(vector <Enemy*>& enemies) {
if (rand() % difficulty == 0) {
Enemy *enemy = new Enemy(screen, zombie_image);
enemies.push_back(enemy);
}
}
然後我打電話spawn_enemies:
game.spawn_enemies(enemies);
我定義的敵人爲:
vector<Enemy*> enemies;
任何想法,爲什麼我得到這個錯誤:
error: no matching function for call to ‘Game::spawn_enemies(std::vector<Enemy*>&)’
note: candidate is:
note: void Game::spawn_enemies(int)
note: no known conversion for argument 1 from ‘std::vector<Enemy*>’ to ‘int’
您將spawn_enemies()聲明爲私有 - 不知道如何將它作爲Game的實例調用,就像它是公共方法一樣?嘗試公開。不知道爲什麼這個奇怪的錯誤雖然... – JTeagle 2012-03-09 18:53:23
我也試圖宣佈它爲公共,但它仍然無法正常工作。事實上,我得到了同樣的錯誤。 – 2012-03-09 18:59:17
粘貼*完整的錯誤*。三重檢查你正在粘貼的代碼,包括所有相關的位。 – 2012-03-09 19:00:19