收到“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&lt;Float&gt;

var weights:UnsafeMutablePointer<Float> = UnsafeMutablePointer.allocate(capacity: size * size)

weights[some index] = some vale

【讨论】:

以上是关于收到“UnsafeMutableRawPointer”类型的错误消息没有下标成员的主要内容,如果未能解决你的问题,请参考以下文章

我收到粘贴板内容更改通知后收到很多崩溃

收到“未收到握手响应”。关闭 websocket 后

Apple 推送通知 - 收到 1 条消息,但收到 2 条以上警报

计算收到的物品总数超过一件货物时收到的物品总数

如何在您的 iOS 应用收到新评分或评论时收到通知

outlook express 已经收到的邮件2个月后又重复收到 高手帮忙!