I ma пишет функцию шаблона, которая принимает вектор элементов и выполняет последовательность некоторых операций над ним. Одной из этих операций является std :: sort().C++/STL Компаратор по умолчанию
Естественно, клиентский код должен поставлять функтор компаратора. Я не хочу, чтобы код клиента указывал значение для этого параметра, если он проходит в контейнере известных типов (ints, string и т. Д.). Как определить значение по умолчанию для параметра моего шаблона Comp?
template<typename Container, typename Comp=????>
void my_func(Container elements, Comp comp) {
...
std::sort(elements.begin(), elements.end(), comp);
...
}
Обратите внимание, что 'станд :: sort' не может быть эффективным на' станд :: list'; по этой причине 'std :: list' имеет функцию' .sort'. – dyp
typo в вашем коде, вы написали "typenam Container", это должно быть "typename" – Borgleader