我有這個帶2個構造函數的小枚舉。當我嘗試使用Int
參數初始化時,出現"Generic parameter 'T' could not be inferred"
錯誤。「過載方法時無法推斷出通用參數'T'錯誤
import UIKit
public enum Result<T> {
case Success(T)
case Failure(Int)
init(any: T) {
self = .Success(any)
}
init(number: Int) {
self = .Failure(number)
}
}
let a = Result(any: "A String")
print(a)
let b = Result(number: 1)
print(b)
有什麼辦法在T排除Int
或以某種方式在第二初始化器優先?
在XCode 7.3.1上測試。
編譯器是正確的。 「Result(number:1)」中的T是什麼? – werediver