我有以下代码:
可能是重复问题:
将元组添加到集合中不起作用
class A
var buffer = Buffer[(A, Int)]()
然后,在某个地方:
val a = new A
buffer += (a, 0) // error
类型推断器在
(a, 0)
中的 a
失败,告诉我要传递 A
,而我必须传递 (A, Int)
。scala> def make {
| val a = new A
| buffer += (a, 0)
| }
<console>:11: error: type mismatch;
found : A
required: (A, Int)
buffer += (a, 0)
^
但是,如果我这样做:
val a = new A
val tuple = (a, 0)
buffer += tuple
错误已经消失了。这是某种错误还是我漏掉了什么?