Ich lese eine Eingabedatei von der Befehlszeile.basic_string :: _ S_construct null nicht gültig
int main(int argc, char **argv)
{
Scene myScene;
string filename = argv[1];
myScene = Parser(filename);
...
}
aus einer anderen Datei verwende ich die Parser-Funktion, die so deklariert wird;
Scene Parser(string filename)
{
string line;
ifstream myfile (filename.c_str());
...
return scene;
}
Ich bekomme den Fehler; terminate wird aufgerufen, nachdem eine Instanz von 'std :: logic_error' geworfen wurde. what(): basic_string :: _ S_construct null nicht gültig
Programm empfangenes Signal SIGABRT, Aborted
Ich habe den Fehler gesucht. Ich denke es liegt an diesen Zeilen. Aber ich kann den tatsächlichen Grund nicht finden. Kann mir jemand helfen?
Sie müssen ** niemals ** sagen 'argv [1]', wenn Sie nicht 'argc> 1 vorher überprüfen. –