#c
#c
Вопрос:
я хочу определить оператор для сортировки вектора объектов «esame», но у меня эта ошибка:
/* esame.cpp: 46:6: ошибка: прототип для ‘bool esame::operator<(esame amp;) const’ не соответствует ни одному из классов ‘esame’ bool esame ::operator<(esame amp; exam) const ^ ~~~~ В файле, включенном из esame.cpp: 1: 0: */ esame.h: 20: 10: ошибка: кандидатом является: bool esame ::operator<(const esame amp;) константа
bool operator<(const esame amp;) const
//this is the declaration on the header file:
bool operator<(const esame amp;) const;
//this is implementation on the cpp file:
bool esame::operator<(esame amp;exam) const
{
if (this->getNome() < exam.getNome()){
return true;
} else{
return false;
}
}
Комментарии:
1. Не связано с ошибкой, но результатом
this->getNome() < exam.getNome()
уже являетсяbool
. Вам не нуженif
Ответ №1:
Подписи разные. Добавить const
к esame amp;exam
в реализации.