【发布时间】:2016-12-09 13:08:44
【问题描述】:
我在 swift 3 方法中有以下代码:
let dict = ["A": 1, "B": 2, "C": 3]
let sum = dict["A"]! + dict["B"]! + dict["C"]!
由于Ambiguous reference to member '+' 错误,代码无法编译。但如果我尝试只添加两个元素,它会按预期编译和工作。
let dict = ["A": 1, "B": 2, "C": 3]
let sum = dict["A"]! + dict["B"]!
正常工作。
我是否遗漏了该语言的工作方式?
【问题讨论】:
-
尝试投下这些引用,例如:
Int(dict["A"]!) + Int(dict["B"]!) -
不幸的是,我认为这是 Swift 中的一个错误。 :( 您应该可以通过将前两个括在括号中来解决它,如下所示:
(dict["A"]! + dict["B"!) + dict["C"]!. -
这应该是一个错误!!!!
-
@JacobKing 将它们包装在一起不起作用。但是当我强制类型为
Int时它确实有效。 -
@Hamish 我也是。尽管如此,还是添加了类似 SO 的欺骗评论 :)