我试图在类中进行以下重载:
class Array extends ListBase<double> {
List<double> l = [];
List<double> operator +=(List<double> b) {
var c = Array.length(l.length);
for(int i = 0; i < l.length; i++) {
c[i] = this[i] * b[i];
}
return c;
}
}
但Dart编译器显示错误消息:字符串'+ ='并非用户可定义的运算符。有没有办法使其他类类型的运算符+=
重载?
答案 0 :(得分:1)
仅重载operator +
。具有众所周知语义(例如+=
)的Dart重用运算符。
如果基类中已经定义了运算符,请添加@override
注释。