1
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;
}
上面的C++代碼在g ++ v4.9.2中得到了分段錯誤。它非常有線。誰知道發生了什麼?分段錯誤:C++用lambda比較器對字符串向量進行排序
解決此類問題的正確工具是您的調試器。在*堆棧溢出問題之前,您應該逐行執行您的代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,您應該\編輯您的問題,以包含一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例,該示例再現了您的問題,以及您在調試器。 –
我無法調試到排序功能,所以我在這裏...但我應該仔細閱讀排序功能的意見。 –
爲什麼你不能調試?請詳細說明。 –