加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 重载operator = for double

发布时间:2020-12-16 10:09:33 所属栏目:百科 来源:网络整理
导读:是否可以重载= double类型的运算符? 我有以下内容: double operator=(double a,Length b) { return a = (b.getInches()/12+b.getFeet())*3.2808*0.9144;} 它会引发以下错误: 'double operator=(double,Length)' must be a nonstatic member function 我究
是否可以重载= double类型的运算符?

我有以下内容:

double operator=(double a,Length b) {
    return a = (b.getInches()/12+b.getFeet())*3.2808*0.9144;
}

它会引发以下错误:

'double operator=(double,Length)' must be a nonstatic member function

我究竟做错了什么?

解决方法

您不能为内置(整数或浮点)类型(如double)重载运算符,也不能对任何类型的=运算符进行全局重载. =运算符只能作为类成员函数重载.

另见:Can I define an operator overload that works with built-in / intrinsic / primitive types?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读