crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> qSort и предикат сравнения ( LessThan lessThan )
Andrewshkovskii
  опции профиля:
сообщение 15.11.2009, 18:28
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


есть класс, в нем есть структура :
private :
        struct Cluster
         {
           private :
            int value_;
            QSet<int> numbersOfItems_;
            QPoint centerPos;
            bool isPainted;
           public :
            Cluster();
            Cluster(int item1 ,int item2, int nValue);
            Cluster(int item1, int nValue);
            void setValue(int newValue);
            int value(){ return value_; }
            QSet<int> &numbersOfItems() {return numbersOfItems_;}
            void setPainted(bool is);
            QString toString(QStringList * lst);
            void append(Cluster * nClust);
          };


и функция для сравнения :
 public :
        bool cmp(const Cluster&  c1, const Cluster& c2){return c1.value() > c2.value();}


и необходимо отсортировать вектор такой вот :
QVector <Cluster * > bufvec;

По возрастанию..
вот так вот пробую :
        
qSort(bufvec.begin(),bufvec.end(), cmp);

и получаю два :
Цитата
error: passing 'const Model::Cluster' as 'this' argument of 'int Model::Cluster::value()' discards qualifiers


Неужели надо будет в отдельный файл функцию запихивать?..

Сообщение отредактировал Andrewshkovskii - 15.11.2009, 18:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.4.2024, 3:13