2
爲什麼這不被允許?錯誤無法調用類型爲'Box <T>'的郵件服務器'
class Box<T>{
let value: T
init(_ value:T){
self.value = value
}
func map<U>(f: T -> U)->Box<U>{
return Box(f(self.value))
}
}
錯誤在return Box(f(self.value))
:
錯誤:無法調用類型的initilizer '框<牛逼>' 類型的參數列表 '(U)'
不應該編譯器能夠從上下文中推斷出來嗎? - 但是同樣的事情發生在這裏:http://stackoverflow.com/questions/29107928/swift-map-extension-for-set。 –
是的。我的意思是:這應該被視爲編譯器錯誤嗎? –
@MartinR我會說是,因爲'let val:Int = 1;讓foo = Box(val)'不會給出錯誤,但解決方法是微不足道的。 – JeremyP