E4065#
重载操作符应接受正确数量的参数。
你可以参考 操作符重载 部分,获取可以重载的操作符列表,下面是每个操作符应该接受的参数数量列表:
运算符 |
方法名称 |
参数数量 |
---|---|---|
|
|
2 |
|
|
3 |
|
|
3 |
错误示例#
///|
struct A(Array[Int])
///|
fn A::op_get(self : A, idx : Int, offset? : Int) -> Int {
// ^~~~~~
// Error: overloaded operator "op_get" should accept 2 arguments, but it accepts 3 arguments
let idx = match offset {
None => idx
Some(offset) => idx + offset
}
return self.0[idx]
}
建议#
修改该方法以匹配操作符的预期参数数。
///|
struct A(Array[Int])
///|
fn A::op_get(self : A, idx : Int) -> Int {
return self.0[idx]
}