Создание общего шаблона findByName
так же просто, как замена определенного типа параметром шаблона:
template<class T>
struct findByName
{
string name;
bool operator()(const T &a)
{
return (a.name == name);
}
};
(Предполагается, что параметр передается по ссылке, но вы можете изменить его на указатель в качестве параметра, если хотите).