mem_fun_ref
принимает функцию с одним аргументом
bool IsValueFound(pair<int, int> itr)
и превращает его в функтор с двумя аргументами:
bool functor(A& this, pair<int, int> itr)
.
где ссылка, используемая в качестве первого параметра, используется для генерации указателя this
для вызова функции-члена IsValueFound
.
Вы, вероятно, не хотите ничего связанного здесь * 1017 - связыватели будут работать просто отлично:
std::find_if(exmap.begin, exmap.end, std::bind2nd(std::equal_to<int>(), state));
Просто понял, что это не сработает для итератора карты ... Возможно, я бы просто написал явный цикл на этом этапе.
Есть несколько синтаксических ошибок, которые у вас здесь есть, но @martona уже их коснулась, поэтому я не буду бить мертвую лошадь :) 10 *