Пишу свой двунаправленный список (шаблонный класс). Нужно организовать вставку с автосортировкой (т.е. чтобы элемент всегда вставлялся на нужное место). Код такой:
template<typename T>
class LinkedList
{
...
template<typename CompT = std::less<T>>
void insert(T value, CompT comp = CompT())
{
// Если вставить надо в начало
if(comp(value, *begin())
{
...
}
}
}
И на comp(value, *begin()) я получаю ошибку
error C2064: term does not evaluate to a function taking 2 arguments
В пособиях написано так же. Я раньше писал сортировки, всё работало (там было в параметрах шаблона, правда, сразу 2 параметра: T и CompT - мб из-за этого проблема).
Перепробовал уже все варианты, в т.ч. убирал значения по умолчанию и при вызове сам указывал std::less<T> - ничего не помогает.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости