Пишу свой двунаправленный список (шаблонный класс). Нужно организовать вставку с автосортировкой (т.е. чтобы элемент всегда вставлялся на нужное место). Код такой:
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>
- ничего не помогает.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Дан текстовый файл, содержащий целые числаУдалить из него все четные числа
Здравствуйте! Подскажите пожалуйста, как перебрать или удалить все под элементы выделенного элемента tree viewКод проверки на выделенность...