Russian Qt Forum
Ноябрь 27, 2024, 04:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qStableSort  (Прочитано 4160 раз)
Qbos
Гость
« : Декабрь 05, 2010, 23:36 »

Проблема с сортировкой QList.
Ошибка: "no matching function call to 'qStableSort..."

Код этой строки у меня такой:
Код:
qStableSort(eventsQueue.begin(),eventsQueue.end(),sortASC);

Код сортировщика LessThan:
Код:
bool myClass::sortASC(Event* first, Event* second)
{
return (first->Time < second->Time)
}

Time -- это свойство объекта Event. А eventsQueue -- это QList<Event*>

Помогите, пожалуйста, разобраться с ошибкой..
Записан
UVV
Гость
« Ответ #1 : Декабрь 06, 2010, 00:28 »

Код:
qStableSort(eventsQueue.begin(), eventsQueue.end(), myClass::sortASC);
Записан
Qbos
Гость
« Ответ #2 : Декабрь 06, 2010, 00:34 »

Код:
qStableSort(eventsQueue.begin(), eventsQueue.end(), myClass::sortASC);

не помогло  Обеспокоенный
Записан
UVV
Гость
« Ответ #3 : Декабрь 06, 2010, 00:39 »

Значит функции нет в пределах видимости.
Записан
zenden
Гость
« Ответ #4 : Декабрь 06, 2010, 01:10 »

если я не ошибаюсь, функцию надо сделать static
Записан
alexman
Гость
« Ответ #5 : Декабрь 06, 2010, 10:41 »

Сделай глобальной, или переопередели operator<.
Записан
Qbos
Гость
« Ответ #6 : Декабрь 06, 2010, 11:20 »

Проблема, вроде, решилась путем объявления параметров функции sortASC как const.

Странно еще то, что
Цитировать
Значит функции нет в пределах видимости.

а метод sortASC находился в том же классе, что и метод, в котором вызывалась функция qStableSort с параметром sortASC. Пришлось вывести функцию за пределы данного класса...
Записан
UVV
Гость
« Ответ #7 : Декабрь 06, 2010, 14:02 »

А объявлена функция где была? В public?
У меня она объявлена static'ом в public'e и всё работает.
Записан
Qbos
Гость
« Ответ #8 : Декабрь 06, 2010, 14:19 »

А объявлена функция где была? В public?
У меня она объявлена static'ом в public'e и всё работает.

да, она у меня в паблике была...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 21.