gpt4 book ai didi

swift - 乘以 Swift Ints 时出错

转载 作者:可可西里 更新时间:2023-11-01 00:53:51 24 4
gpt4 key购买 nike

这里是新的 Swift 爱好者!我正在关注 Rey Wenderlich 的 Candy Crush tutorial并在将两个 Int 值相乘时出错。我知道 Swift 是严格类型化的,这就是原因吗?我不允许在 Swift 中这样做吗?请注意我遇到问题的 error 注释。非常感谢在正确方向上提供的任何帮助!

class Array2D<T> {
let columns: Int
let rows: Int
let array: Array<T>

init(columns: Int, rows: Int) {
self.columns = columns
self.rows = rows
array = Array<T?>(count: rows*columns, repeatedValue: nil) // ERROR: could not find an overload for '*' that accepts the supplied arguments
}

subscript(column: Int, row: Int) -> T? {
get {
return array[row*columns + column]
}
set {
array[row*columns + column] = newValue // ERROR: could not find an overload for '*' that accepts the supplied arguments
}
}
}

最佳答案

将您的数组更改为 T? 类型。在第一种情况下,您试图将类型为 T? 的数组分配给类型为 T 的数组。在第二种情况下,您尝试将 T? 类型的 newValue 分配给 T 类型的数组元素。

改变数组的类型可以解决这两个问题。

关于swift - 乘以 Swift Ints 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24565189/

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