#c #sorting #templates #stl #predicates
#c #сортировка #шаблоны #stl #предикаты
Вопрос:
при сортировке вектора я использую следующий код
sort(vec1.begin(), vec1.end(), less<int>());
компилятор принимает третий аргумент, который также является аргументом по умолчанию. Но для сортировки в порядке убывания я вижу greater<int>()
на каждом форуме, но мой компилятор принимает только
sort(vec1.begin(), vec1.end(), isgreater<int, int>);
который, кстати, работает. шаблон обновлен в c или более старый больше<>() в какой-то другой библиотеке?
Ответ №1:
Шаблон вызывается std::greater
, и он объявлен в заголовке <functional>
, который вы должны включить.