Bonjour,
Récemment, je me suis à la tâche d'apprendre SDL en utilisant c++. Je suis présentement en train de concevoir un petit programme qui utilise une classe contenant un attribut de type SDL_Surface (ClSprite). Grosso modo, dans mon main, je crée un vector de type ClSprite (vector<ClSprite>). Je le rempli d'objet de type ClSprite. À la fin du main, je veux libérer l'espace allouée au sprites en utilisant la méthode SDL_FreeSurface. Voici ce que je fais (p_listeSprite est mon vector):
La méthode getImage() retourne la surface qui est un pointeur de type SDL_Surface, bien entendu. Le problème que j'éprouve est que le programme gèle lorsqu'il exécute ce bout de code. J'ai essayé de faire quelque chose de similaire via le destructeur de la classe, sans succès. Est-ce que quelqu'un pourrait me dire où se situe mon erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (int i = 0; i != p_listeSprite.size(); ++i) { SDL_FreeSurface(p_listeSprite[i].getImage()); }
Partager