gpt4 book ai didi

c++ - 使用 find_if 和 isalnum 在字符串中查找字母数字字符

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:11 27 4
gpt4 key购买 nike

我正在使用 g++ 4.7

我想做的是这个,

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

其中 isalnumcctype 中定义,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);

如何在不创建自己的函数的情况下让它工作?

最佳答案

编译器在消除 this function 之间的歧义时遇到问题和 this function .你想要第一个,你必须通过强制转换指定签名来帮助编译器:

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

关于c++ - 使用 find_if 和 isalnum 在字符串中查找字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com