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