3 / 3 / 1
Регистрация: 25.03.2011
Сообщений: 178
1

STL. Сортировка объектов в контейнере

26.10.2014, 18:58. Показов 1410. Ответов 1
Метки нет (Все метки)

Имеется список list из объектов Time (минуты:секунды).
Через собственный метод (list.sort(предикат)) сортировка проходит успешно, а при использовании алгоритма STL sort(list.begin(), list.end(), предикат) сыпятся ошибки.
Ошибка 4 error C2676: бинарный "-": "std::_List_iterator<std::_List_val<std::_List_sim ple_types<Time>>>" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору
Ошибка 5 error C2780: void std::_Sort(_RanIt,_RanIt,_Diff,_Pr): требует аргументов: 4, имеется: 3
Ошибка 3 error C2784: unknown-type std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &): не удалось вывести аргумент шаблон для "const std::_Revranit<_RanIt,_Base> &" из "std::_List_iterator<std::_List_val<std::_List_sim ple_types<Time>>>"
Ошибка 2 error C2784: unknown-type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &): не удалось вывести аргумент шаблон для "const std::reverse_iterator<_RanIt> &" из "std::_List_iterator<std::_List_val<std::_List_sim ple_types<Time>>>"
Ошибка 1 error C2784: unknown-type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &): не удалось вывести аргумент шаблон для "std::move_iterator<_RanIt> &" из "std::_List_iterator<std::_List_val<std::_List_sim ple_types<Time>>>"
В качестве предикатов использовал функцию вида
C++
1
2
3
4
bool SortAsc(Time &left, Time &right)
{
    return (left < right);
}
Да и через класс с перегрузкой operator() те же ошибки.
У кого-нибудь есть идеи, в чём может быть причина?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2014, 18:58
Ответы с готовыми решениями:

В каком STL-контейнере лучше хранить объекты?
Есть класс, реализующий адреса class address { ... } Поискал в сети увидел 3 варианта...

Можно ли узнать размер одного элемента в STL контейнере?
Допустим, мне захотелось узнать, сколько памяти ест мой map. Для этого надо знать размер 1...

Найти элемент в контейнере priority_queue, используя STL вские итераторы и алгоритмы
Здравствуйте, задача описана в навание темы. Можно перебрать в цикле все элементы очереди,...

Как в контейнере STL перейти из последнего элемента на первый, не задумываясь о границах
Вообще пишу используя QtLibrary, но там не нашел подходящего решения. Если есть решение в STL, то...

1
3254 / 2056 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.10.2014, 19:14 2
Gambit_88, std::sort требует итератор с произвольным доступом, коим std::list по понятным причинам не обладает.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2014, 19:14
Помогаю со студенческими работами здесь

Автопозицианирование объектов в резиновом контейнере
Сабж, интересует как реализовать сие? Допустим в див элементе у меня есть еще 3 див блока, как их...

Позиция элемента в контейнере STL кон. SET, поиск контейнер set словарь позиция
Есть код №1. Он выводить на экран позицию нужного мне слова (только если в середине 1 слово а не 2...

Отображение obj/stl объектов
Здравствуйте,пишу отображение obj/stl объектов на сайте,вот полный код var _loaders = {}, ...

STL вектор динамических объектов
Нужно время от времени ложить в std::vector (или std::list) динамические объекты. Под динамическим...

Как средствами STL построить список объектов
Подскажите как реализуется данная задача, желательно с примером кода. Спасибо

Как создать STL stack объектов пользовательского класса?
Всем привет! Скажите пожалуйста, как создать STL stack объектов пользовательского класса в WinForm...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru