In den folgenden Code, wenn ich versuche, ein Element mit Ausnahme der letzten zu entfernen, funktioniert der Code gut. Aber wenn ich versuche, das letzte Element zu löschen, gibt es einen Laufzeitfehler aus. Nicht sicher warum ?Problem beim Löschen der letzten Element des Vektors in einer Schleife
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> s;
s.push_back("Jacob");
s.push_back("Jamal");
s.push_back("Joseph");
s.push_back("Janardan");
vector<string>::iterator it;
for(it = s.begin(); it != s.end() ; it++)
cout<<*it<<endl;
for(it = s.begin(); it != s.end() ; it++)
if(*it == "Janardan")
s.erase(it);
for(it = s.begin(); it != s.end() ; it++)
cout<<*it<<endl;
return 0;
}