【发布时间】:2019-04-21 11:11:52
【问题描述】:
我想在委托的帮助下实现运算符“+”。但是当我想使用“+ =”操作符时,却找不到。
Money Money::operator +=(const Money &m)noexcept
{
rouble += m.rouble;
penny += m.penny;
return *this;
}
Money operator + (const Money &first, const Money &second) noexcept
{
return operator+=(second);
^^^^^^^^^
}
【问题讨论】:
-
请提供complete, verifiable example我们可以查看。
-
return语句需要返回
first;它没有。例如return first.operator+=(second) -
请注意,这个问题与运算符重载无关。如果您在任何地方将
operator +=更改为my_func,您将遇到同样的问题。