Während mein Programm läuft bekomme ich diesen Fehler:Was die Bedeutung dieses C++ Fehler std :: length_error
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
Ich weiß, dass Sie nicht ohne den Code viel tun kann, aber ich denke, dass dieser Fehler ist zu tief im Code, um alles zu kopieren. Vielleicht kann ich es herausfinden, wenn ich verstehe, was dieser Fehler bedeutet. Ist dies ein Zeichen für ein Problem beim Lesen oder Schreiben an der falschen Speicheradresse?
Gibt es etwas, was ich tun kann, um mehr Informationen über das Problem von meinem Programm zu bekommen?
Können Sie einen Teil des Codes dort veröffentlichen, wo Sie auf die Zeichenfolge zugreifen? –
Die Zeichenfolge ist nicht das Problem. Nach ein paar kleinen Änderungen und dem Hinzufügen von Debug-Meldungen bekomme ich einen echten segfault;) – Janusz
Zusätzlich zu der Antwort von Kevin: Vielleicht hast du einige Berechnungen durchgeführt, die zu einer negativen String-Länge führen würden? Da die Stringlänge (normalerweise) als vorzeichenloser Wert gespeichert wird, würde Ihr negativer Wert zu einem extrem großen positiven Wert führen, der meistens größer ist als std :: string :: max_size()! – mmmmmmmm