我正在尝试创建一个保持对外部函数的局部变量的引用的闭包,并且我不断收到这个模棱两可的错误 int is not same to unint8。这对我来说没有意义,因为这里没有涉及数组。这里也没有UInt8s
涉及。
func increment(n:Int)-> ()->Int {
var i = 0
var incrementByN = {
() -> Int in
i += n
}
return incrementByN
}
var inner = increment(4)
inner()
inner()
inner()
我发现我可以通过i
在之后返回来解决这个问题i+=n
。我认为它i+=n
会自行返回,但显然它不会。