, который мой шаблон-функция:Поиск Выбор диапазона Generic для члена с конкретным полем
template<class DataStruct>
static bool isPlayerIn(DataStruct players, int id){
for(DataStruct::iterator player = players.begin();
player != players.end(); ++player){
if((*player)->_id == id){
return true;
}
}
return false;
}
Я хочу, чтобы иметь возможность получить игроков как вектор и как карта, или любой другой STL. Я не могу использовать алгоритм find, потому что я ищу «игрока», у которого внутренний идентификатор поля такой же, как заданный параметр. Есть ли способ этой работы?
Он complaines о:
(*player)->_id
Потому что он не знает, что игрок является PTR в PTR к классу игрока.
Или, может быть, я могу использовать этот случай find_if? – KittyT2016
Я бы использовал 'std :: find_if' – NathanOliver
, который вы могли бы явно использовать как указатель класса игрока (возможно, не проверял) – Bort