Я пытаюсь перейти по ссылке, где кто-то пытается упростить ссылку на сортировку на C++ http://www.cplusplus.com/forum/beginner/4817/, однако я не могу получить операционную функцию bool
, чтобы скомпилировать способ, которым он обладает.Сортировка вектора объектов с помощью функции сравнения
У меня есть вектор объектов событий. Я хочу отсортировать вектор, основанный на времени начала события. Если начальное время было числом, это было бы проще, но они были строками, поэтому мне пришлось писать функции для преобразования в uint64_t
, весь мой код до этой попытки работает так, как должен. Вот код, который я пытаюсь получить работу:
Функция BOOL:
bool EWriter:: operator() (Event &a, Event &b){
return (stringToTime(stringReturnWrap(a.getBeginTime())) < stringToTime(stringReturnWrap(b.getBeginTime())));
}
Этот код компилируется, но я не могу понять, как дать ему имя, и поэтому я не могу ссылаться на него в вид. Кроме того, я предпочел бы перегрузить оператор <
, но я все равно получаю сообщение об ошибке, которому нужен третий аргумент.
Вот мой род:
sort(events->begin(), events->end(), someFunctionName);??
Немного не связаны, что я знаю, что я должен использовать сопзЬ в аргументах, но я не могу назвать функции класса Event, если я их реализации.
Вы забыли добавить 'const'-Несс к вашему' Событие & a' и 'Event & b'? – dasblinkenlight
'Событие :: getBeginTime()' должно быть объявлено 'const'. Если это не ваш код, возможно, вы можете заставить автора исправить это. Если это ваш код, исправьте его! 8v) –