Здравствуйте!
Создаю свой класс:
class cont_reg_model_dt_struct
{
public:
cont_reg_model_dt_struct(){} //Override of constructor.
cont_reg_model_dt_struct(const cont_reg_model_dt_struct & other); //Override of copy constructor.
cont_reg_model_dt_struct &operator=(const cont_reg_model_dt_struct &other); //Override of assignment.
bool operator<(cont_reg_model_dt_struct other){return TRUE;} //Override of operator '<'.
};
Затем вставляю его в QMap:
QMap<int,cont_reg_model_dt_struct> m_MeasLinkageMap2;
Послe чего работаю с QMap:
QList<cont_reg_model_dt_struct> listVals = m_MeasLinkageMap2.values();
qSort(listVals.begin(), listVals.end());
И при компиляции последней строки (
qSort(listVals.begin(), listVals.end())) выводятся ошибки:
c:\Qt\4.8.2\include\QtCore\..\..\src\corelib\tools\qalgorithms.h:161: ошибка: passing 'const ContiniousRegimeModel::cont_reg_model_dt_struct' as 'this' argument of 'bool ContiniousRegimeModel::cont_reg_model_dt_struct::operator<(ContiniousRegimeModel::cont_reg_model_dt_struct)' discards qualifiers
Хотя я метод
bool operator<(cont_reg_model_dt_struct other) переопределял.
Подскажите, пожалуйста, в чем проблема.