【发布时间】:2012-10-27 01:54:32
【问题描述】:
我正在使用 g++ 4.7。
我想做的是这个,
find_if(s.begin(), s.end(), isalnum);
其中isalnum 在cctype 中定义,s 是一个字符串。
logman.cpp:68:47: error: no matching function for call to ‘find_if(std::basic_string<char>::const_iterator, std::basic_string<char>::const_iterator, <unresolved overloaded function type>)’
但是,这行得通,
bool my_isalnum(int c) {
return isalnum(c);
}
find_if(s.begin(), s.end(), my_isalnum);
如何在不创建自己的函数的情况下使其工作?
【问题讨论】:
-
如果 C++11 适合您,您可以使用 lambda 表达式。