我想在委托的帮助下实现运算符“ +”。但是当我想使用“ + =”运算符时,找不到它。
const Navigator = createDrawerNavigator( { Home, },
{ // drawerType: 'back',
// drawerPosition: 'right',
// drawerWidth: 200, // drawerBackgroundColor: 'orange',
// contentComponent: CustomDrawerContentComponent } );
export default createAppContainer(Navigator) ;
答案 0 :(得分:3)
您的第二个功能(operator+
)是独立的,它不是成员。您的第一个函数(Money::operator+=
) 是成员函数;您不能像使用独立成员一样使用+ =成员函数。
因此,在第二个功能中,您可能想要做类似的事情:
Money operator+ (const Money &first, const Money &second) noexcept
{
Money sum{first};
sum += second;
return sum;
}
话虽如此-您还应该遵循@πάνταῥεῖ的建议并阅读:
What are the basic rules and idioms for operator overloading?