1

根据语言规范(10.1.1 运算符),我正在尝试覆盖一些运算符。

覆盖“减号”和“一元减号”运算符时出现分析器错误 - 我没有得到:

'运算符“-”未在类缩进上定义'

但在课堂上我已经定义了它:

  Indentation operator -() {
    level--;
    return this;
  }

我像使用它一样使用它myInstance--;,它确实有效,但分析器仍然抱怨,由于错误,我无法提交代码“干净”。

我查找了一个旧线程(Why does overriding negate cause static warning in Dart),但我认为这与这里无关。

欢迎任何建议。

4

1 回答 1

3

--x是一样的x -= 1。要使用它,您必须定义operator -(p)(not operator -())

Indentation operator -(n) => new Indentation(level - n);
于 2016-04-29T12:23:34.757 回答