为啥我有这个错误重载运算符?
Posted
技术标签:
【中文标题】为啥我有这个错误重载运算符?【英文标题】:why i have this error overloading an operator?为什么我有这个错误重载运算符? 【发布时间】:2019-03-29 08:37:57 【问题描述】:我想定义一个运算符来对对象向量“esame”进行排序,但我有这个错误:
/* esame.cpp:46:6: 错误:'bool 的原型 esame::operator
bool operator<(const esame &) const
//this is the declaration on the header file:
bool operator<(const esame &) const;
//this is implementation on the cpp file:
bool esame::operator<(esame &exam) const
if (this->getNome() < exam.getNome())
return true;
else
return false;
【问题讨论】:
与错误无关,但this->getNome() < exam.getNome()
的结果已经是bool
。你不需要if
【参考方案1】:
签名不同。在实现中将const
添加到esame &exam
。
【讨论】:
以上是关于为啥我有这个错误重载运算符?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我们必须重载“<”运算符才能使用 is_permutation 并包含算法