【发布时间】:2016-09-11 07:11:13
【问题描述】:
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 中出现分段错误。它是如此有线。谁知道怎么回事?
【问题讨论】:
-
调试器是解决此类问题的正确工具。 在询问 Stack Overflow 之前,您应该逐行逐行检查您的代码。如需更多帮助,请阅读How to debug small programs (by Eric Lippert)。至少,您应该 [编辑] 您的问题,以包含一个重现您的问题的 Minimal, Complete, and Verifiable 示例,以及您在调试器中所做的观察。
-
我无法调试到排序函数,所以我在这里......但我应该仔细阅读排序函数的cmets。
-
为什么不能调试?请详细说明。