int main() {
vector<string> v(100, "0");
auto comp = [](const string& first, const string& second)->bool {
return first.compare(second) <= 0;
};
sort(v.begin(), v.end(), comp);
for(auto s : v) {
cout<<s<<endl;
}
return 0;
}
Oberhalb C++ Code bekam Segmentierung Fehler mit g ++ v4.9.2. es ist so verkabelt. Wer weiß was vor sich geht?Segmentation Fault: C++ sortiere einen String Vektor mit Lambda-Komparator
Das richtige Werkzeug, um solche Probleme zu lösen, ist Ihr Debugger. Sie sollten Schritt für Schritt durch Ihren Code * gehen, bevor Sie auf Stack Overflow nachfragen. Für weitere Hilfe lesen Sie bitte [Wie kleine Programme zu debuggen (von Eric Lippert)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Zumindest sollten Sie Ihre Frage bearbeiten, um ein [minimales, vollständiges und verifizierbares] (http://stackoverflow.com/help/mcve) Beispiel einzufügen, das Ihr Problem zusammen mit den Beobachtungen, die Sie in der Debugger. –
Ich kann nicht in die Sortierfunktion debuggen, also bin ich hier ... aber ich sollte die Kommentare der Sortierfunktion sorgfältig lesen. –
Warum können Sie nicht debuggen? Bitte erläutern. –