Avatar ·

Comment supprimer un élément d'un std::vector par index en C++ ?

Bonjour, collègues ! Je suis débutant en C++ et j'ai rencontré un problème en travaillant avec std::vector. Je dois supprimer un élément par son index, mais je n'arrive pas à trouver la bonne méthode. Voici mon code : ```cpp #include #include int main() { std::vector numbers = {10, 20, 30, 40, 50}; int index_to_remove = 2; // Je veux supprimer l'élément 30 // J'essaie d'utiliser erase, mais je ne sais pas comment passer l'index // numbers.erase(index_to_remove); // Erreur de compilation // J'essaie avec un itérateur numbers.erase(numbers.begin() + index_to_remove); for (int n : numbers) { std::cout << n << " "; } // Attendu : 10 20 40 50, mais le code plante ou se comporte étrangement return 0; } ``` J'ai lu la documentation, mais je suis toujours confus. Pourquoi `erase` n'accepte-t-il pas simplement un nombre ? Et faut-il toujours utiliser `begin() + index` ? Que se passe-t-il si l'index est hors limites ? Comment gérer correctement les erreurs ? Je serais reconnaissant pour une explication détaillée avec des exemples.