【发布时间】:2015-02-10 00:10:40
【问题描述】:
在 Swift 中编程时,有时我会看到包含 $T0、$T1、$T2 等的错误消息。似乎它们与闭包有关。
这段代码运行良好:
let test = { (argument: Int) in
println("Argument is \(argument)")
}
test(42)
Xcode 的自动完成告诉我test 的类型是(Int) -> (),所以返回类型似乎是推断出来的。
但如果我在闭包中添加 return 语句:
let test = { (argument: Int) in
println("Argument is \(argument)")
return
}
test(42)
我收到一条错误消息:
error: cannot convert the expression's type '(Int) -> (Int) -> $T0' to type '(Int) -> (Int) -> $T0'
$T0 是什么意思?
【问题讨论】:
标签: swift compiler-errors