So, hier ist mein Fehler:Verständnisfehler "Terminate nach dem Werfen einer Instanz namens 'std :: length_error' was(): basic_string :: _ S_create Aborted (core dumped)"
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Aborted (core dumped)
und hier ist mein Code:
//Code removed
string generateSong(string list[], int num)
{
//Code removed
//Code removed
for (i = 0; i < num; i++)
{
output += list[i];
output += bone1;
output += list[i + 1];
output += bone2;
}
return output;
}
int main()
{
string list[9] =
{
//Code removed
};
//Code removed
return 0;
}
ich möchte nur wissen, was dieser Fehler bedeutet, so weiß ich, wie es zu beheben. Ich habe viele Beiträge mit ähnlichen Fehlern gesehen, aber nichts genau das gleiche. Ich beginne buchstäblich nur in C++ und keine dieser Antworten macht Sinn mit dem, was ich bisher gelernt habe. Wie Sie sehen können, ist dies ein einfaches Programm, um einen Song auszugeben. Es soll mir helfen, Saiten für die Klasse zu üben, die ich mache, aber es macht absolut keinen Sinn für mich und das Buch ist auch nicht viel Hilfe. Könnte mir bitte jemand das erklären?
P.S. Falls dies hilfreich ist, wird es mit g ++ kompiliert, aber wenn es ausgeführt wird, gibt es diesen Fehler (also ist es im Grunde kein Kompilierungsfehler, es ist ein Lauffehler).
Um zu debuggen können Sie list.at (i) und list.at (i + 1) verwenden und diese sagen Ihnen Indexüberschreitungen mit einer hilfreicheren Nachricht in der Regel. – emsr