Название: qStableSort Отправлено: 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) Time -- это свойство объекта Event. А eventsQueue -- это QList<Event*> Помогите, пожалуйста, разобраться с ошибкой.. Название: Re: qStableSort Отправлено: UVV от Декабрь 06, 2010, 00:28 Код: qStableSort(eventsQueue.begin(), eventsQueue.end(), myClass::sortASC); Название: Re: qStableSort Отправлено: Qbos от Декабрь 06, 2010, 00:34 Код: qStableSort(eventsQueue.begin(), eventsQueue.end(), myClass::sortASC); не помогло :-[ Название: Re: qStableSort Отправлено: UVV от Декабрь 06, 2010, 00:39 Значит функции нет в пределах видимости.
Название: Re: qStableSort Отправлено: zenden от Декабрь 06, 2010, 01:10 если я не ошибаюсь, функцию надо сделать static
Название: Re: qStableSort Отправлено: alexman от Декабрь 06, 2010, 10:41 Сделай глобальной, или переопередели operator<.
Название: Re: qStableSort Отправлено: Qbos от Декабрь 06, 2010, 11:20 Проблема, вроде, решилась путем объявления параметров функции sortASC как const.
Странно еще то, что Цитировать Значит функции нет в пределах видимости. а метод sortASC находился в том же классе, что и метод, в котором вызывалась функция qStableSort с параметром sortASC. Пришлось вывести функцию за пределы данного класса... Название: Re: qStableSort Отправлено: UVV от Декабрь 06, 2010, 14:02 А объявлена функция где была? В public?
У меня она объявлена static'ом в public'e и всё работает. Название: Re: qStableSort Отправлено: Qbos от Декабрь 06, 2010, 14:19 А объявлена функция где была? В public? У меня она объявлена static'ом в public'e и всё работает. да, она у меня в паблике была... |