gpt4 book ai didi

swift - 'Int' 与闭包中的 'UInt8' 不同

转载 作者:搜寻专家 更新时间:2023-11-01 06:10:21 24 4
gpt4 key购买 nike

我正在尝试创建一个闭包来保留对外部函数的局部变量的引用,但我一直收到这个不明确的错误 int is not identical 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+=n 之后返回 i 来解决这个问题。我以为 i+=n 会自行返回,但显然不会。

最佳答案

+= for (Int, Int) 声明为

func +=(inout lhs: Int, rhs: Int)

它什么都不返回。

不过,我不知道为什么要包含 UInt8。可能是因为 func +=(inout lhs: UInt8, rhs: UInt8)func +=(...)最后一个> 声明。

关于swift - 'Int' 与闭包中的 'UInt8' 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com