收到“UnsafeMutableRawPointer”类型的错误消息没有下标成员
Posted
技术标签:
【中文标题】收到“UnsafeMutableRawPointer”类型的错误消息没有下标成员【英文标题】:getting error message of Type 'UnsafeMutableRawPointer' has no subscript members' 【发布时间】:2018-10-10 05:42:45 【问题描述】:我只需要在那里分配内存和设置值。这是我的代码。
let radius:Float = 5.79
let sigma:Float = radius / 2
let size:Int = Int((round(radius) * 2) + 1)
var weights:UnsafeMutableRawPointer = malloc(MemoryLayout<Float>.size * size * size)
weights[some index] = some vale
但我在 swift 版本 4 中收到一条错误消息,提示“UnsafeMutableRawPointer 没有下标成员”
我该如何解决这个问题。请有任何想法
【问题讨论】:
【参考方案1】:你最好查看UnsafeMutableRawPointer
的官方文档
你可以这样写:
let radius:Float = 5.79
let sigma:Float = radius / 2
let size:Int = Int((round(radius) * 2) + 1)
var weights:UnsafeMutableRawPointer = malloc(MemoryLayout<Float>.size * size * size)
weights.storeBytes(of: some value, toByteOffset: some offset, as: SomeType.self)
如果所有元素都是Float
,则最好使用UnsafeMutablePointer<Float>
。
var weights:UnsafeMutablePointer<Float> = UnsafeMutablePointer.allocate(capacity: size * size)
weights[some index] = some vale
【讨论】:
以上是关于收到“UnsafeMutableRawPointer”类型的错误消息没有下标成员的主要内容,如果未能解决你的问题,请参考以下文章