我试图理解find_if的最后一个参数,它给出了编译错误。关于[](int ch)用法的这个问题上下文中的文档的任何指针都会非常有用。 http://en.cppreference.com/w/cpp/algorithm/find
使用其中一个参数查看编译错误。
https://leetcode.com/playground/U5SLW8zq
median.cpp:56:68:错误:预期的表达 input.erase(input.begin(),find_if(input.begin(),input.end(),[](int ch){ ^ median.cpp:62:55:错误:预期表达式 input.erase(find_if(input.rbegin(),input.rend(),[](int ch){
void trimLeftTrailingSpaces(string &input) {
input.erase(input.begin(), find_if(input.begin(), input.end(), [](int ch) {
return !isspace(ch);
}));
}
void trimRightTrailingSpaces(string &input) {
input.erase(find_if(input.rbegin(), input.rend(), [](int ch) {
return !isspace(ch);
}).base(), input.end());
}
答案 0 :(得分:0)
问题是由于缺少编译器选项。我可以用c ++ 11编译
$ g ++ -std = c ++ 11 median.cpp