Avatar ·

Cómo eliminar un elemento de std::vector por índice en C++?

¡Hola, colegas! Soy nuevo en C++ y me encontré con un problema al trabajar con std::vector. Necesito eliminar un elemento por su índice, pero no encuentro la forma correcta. Aquí está mi código: ```cpp #include #include int main() { std::vector numbers = {10, 20, 30, 40, 50}; int index_to_remove = 2; // Quiero eliminar el elemento 30 // Intento usar erase, pero no sé cómo pasar el índice // numbers.erase(index_to_remove); // Error de compilación // Pruebo con iterador numbers.erase(numbers.begin() + index_to_remove); for (int n : numbers) { std::cout << n << " "; } // Espero: 10 20 40 50, pero el código falla o se comporta de forma extraña return 0; } ``` Leí la documentación, pero aún así me confundo. ¿Por qué `erase` no acepta simplemente un número? ¿Y siempre es necesario usar `begin() + index`? ¿Qué pasa si el índice está fuera de los límites? ¿Cómo manejar errores correctamente? Agradecería una explicación detallada con ejemplos.