Я пытаюсь сортировать мой QList на основе QDateTime, но я получаю следующее сообщение об ошибке:должен использовать '. *' Или '-> *' для вызова функции указатель-член в 'lessThan (...)', например. '(... -> * LessThan) (...)'
must use '.*' or '->*' to call pointer-to-member function in 'lessThan (...)', e.g. '(... ->* lessThan) (...)'
if (lessThan(*end, *start))
^
Сортировка функции:
bool sortRecord(Record left, Record right){
return left.getArrival().getDate() < right.getArrival().getDate();
}
Функция называется так:
qSort(recordList.begin(), recordList.end(), sortRecord);
Getter и законодательницей прибытия в записи:
void Record::setArrival(Arrival arrival){
this->arrival = arrival;
}
Arrival Record::getArrival(){
return this->arrival;
}
getDate()
функция Прибытие:
QDateTime Arrival::getDate(){
QDateTime qDateTime;
QDate qDate;
qDate.setDate(date.getDateYear(), date.getDateMonth(), date.getDateDay());
qDateTime.setDate(qDate);
vector<string> timeS = splitTime(time.getTimeFrom());
QTime qTime;
qTime.setHMS(stoi(timeS[0]), stoi(timeS[1]), 0);
qDateTime.setTime(qTime);
return qDateTime;
}
Что это такое, что я делаю не так?
Спасибо!
Где используется 'lessThan', где он указан? – melak47
Функция lessThan объявлена внутри qalgorithms.h, которая является частью структуры QT. –
Итак, где/как вы вызываете сортировку? – melak47