2
我正在玩Swift 3(Xcode 8.2.1)中的泛型,我不明白爲什麼這不會編譯。我也試過self.updateValue
...而且也失敗了。通用字典擴展錯誤 - 模糊引用下標
extension Dictionary {
mutating func mergeWith<K: Hashable, V: AnyObject> (a: [K:V]) -> [K:V] {
for (k,v) in a {
self[k] = v // compile error: Ambiguous reference to member 'subscript'
}
}
}
我想限制泛型K和V的類型,以什麼與字典,但似乎並沒有工作?
謝謝。我當然希望錯誤消息以任何方式指示錯誤發生的原因,而不是某些堆棧的最後部分... – xaphod
@xaphod是的,不幸的是,仍然有很多情況下,來自編譯器的診斷消息遠從滿意。儘管在Swift團隊中公平,但情況通常會好轉。當你遇到糟糕的錯誤/警告消息時,它可能值得[提交錯誤報告](https://bugs.swift.org) - 它們通常會被注意到。 – Hamish