+ = Dart中的运算符重载

时间:2019-07-12 17:46:40

标签: dart

我试图在类中进行以下重载:

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编译器显示错误消息:字符串'+ ='并非用户可定义的运算符。有没有办法使其他类类型的运算符+=重载?

1 个答案:

答案 0 :(得分:1)

仅重载operator +。具有众所周知语义(例如+=)的Dart重用运算符。 如果基类中已经定义了运算符,请添加@override注释。