ВСЕ,Правильная реализация снятия элементов вектора
Продолжение this Нить.
То, что я пытался, чтобы написать следующий код:
struct Remover : public std::binary_function<CPlayer,void,bool>
{
public:
bool operator()(const CPlayer &player) const
{
return player.IsNewPlayer();
}
};
и назвать это таким образом:
players_pool->erase(std::remove_if(players_pool->begin(), players_pool->end(), std::bind2nd(Remover())));
, но он дает мне ошибку:
зЬй :: bind2nd() : ожидает 2 аргумента - 1 предоставлено.
Как правильно назвать этот функтор?
спасибо.
Понимаете ли вы сообщение об ошибке? 'ожидает 2 аргумента - 1 при условии.' - Кроме того, прочитали ли вы документацию 'std :: bind2nd()'? –
Вам не нужны ни 'bind2nd', ни' Remover'. Посмотрите на 'std :: mem_fun'. –
@ н.м. обратите внимание, что 'std :: mem_fun' устарел. Но ['std :: mem_fn'] (http://en.cppreference.com/w/cpp/utility/functional/mem_fn) может быть альтернативой. – juanchopanza