【发布时间】:2014-04-30 18:55:38
【问题描述】:
是否可以重载 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
我做错了什么?
【问题讨论】:
-
可能您希望
Length可转换为double以支持Length a; double b; b = a;之类的表达式。可转换意味着Length具有operator double。 -
您真的要重载赋值运算符吗?也许你想重载从
Length到double的转换,在这种情况下你应该重载Length::operator double()...