Ошибка при работе с компаратором [закрыто]

165
26 ноября 2016, 19:03

Пишу свой двунаправленный список (шаблонный класс). Нужно организовать вставку с автосортировкой (т.е. чтобы элемент всегда вставлялся на нужное место). Код такой:

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> - ничего не помогает.

READ ALSO
Удалить все четные числа [закрыто]

Удалить все четные числа [закрыто]

Дан текстовый файл, содержащий целые числаУдалить из него все четные числа

597
Как удалить все под элементы tree view

Как удалить все под элементы tree view

Здравствуйте! Подскажите пожалуйста, как перебрать или удалить все под элементы выделенного элемента tree viewКод проверки на выделенность...

279