根据语言规范(10.1.1运算符)我试图覆盖一些运算符。
当覆盖'减'和'一元减'运算符时,我得到一个分析器错误 - 我得不到:
'运算符“ - ”未在类缩进'
上定义但在课程中我定义了它:
Indentation operator -() {
level--;
return this;
}
并且我像myInstance--;
一样使用它并且实际上它确实有效,但是分析器仍然抱怨并且因为错误而无法提交代码'clean'。
我查了一个旧帖子(Why does overriding negate cause static warning in Dart),但我认为这与此无关。
欢迎任何建议。
答案 0 :(得分:3)
--x
与x -= 1
相同。要使用它,您必须定义operator -(p)
(不是operator -()
)
Indentation operator -(n) => new Indentation(level - n);