У меня есть следующий вопрос:предиката для алгоритмов STL
find_if(s.begin(), s.end(), isalpha);
s является строкой библиотеки. когда я пытаюсь использовать isalpha (в заголовке «cctype»), он говорит, что «type не соответствует». Проблема заключается в том, что ISALPHA принимает Int и возвращает Int: Int ISALPHA (интермедиат)
Я решил его, объявив другую функцию:
bool IsAlpha(char c) {
return isalpha(c);
}
Однако, есть ли лучший способ сделать это? Я бы предпочел лучшую четкость кода & простоту, не объявляя эту функцию «обертки».
Спасибо!
Что я делаю неправильно? http://liveworkspace.org/code/28S1na$0 – ForEveR
Алан, можете ли вы привести точную ошибку компилятора и точный код, для которого вы его получаете? До, чем, -1. –
Я уверен, что был хотя бы один компилятор, который хотел, чтобы вы его произвели: '(int (*) (int)) isalpha' – chris