Encontrar un carácter alfanumérico en una cadena usando find_if e isalnum

Estoy usandog ++ 4.7.

Lo que estoy tratando de hacer es esto,

find_if(s.begin(), s.end(), isalnum);

dóndeisalnum se define encctype ys es una cuerda

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>)’

Sin embargo, esto funciona,

bool my_isalnum(int c) {
    return isalnum(c);
}

find_if(s.begin(), s.end(), my_isalnum);

¿Cómo puedo hacer que esto funcione sin crear mi propia función?

Respuestas a la pregunta(2)

Su respuesta a la pregunta