malloc - 收到“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[some index] = some vale
但我在 swift 版本 4 中收到一条错误消息,说“UnsafeMutableRawPointer 没有下标成员”
我该如何解决这个问题。请有任何想法
解决方案
你最好查看官方文档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)
或者UnsafeMutablePointer<Float>
,如果所有元素都是Float
.
var weights:UnsafeMutablePointer<Float> = UnsafeMutablePointer.allocate(capacity: size * size)
weights[some index] = some vale
推荐阅读
- hibernate - hql 空间 ST_MakeEnvelope
- python-3.x - 如何更改模型袖珍狮身人面像
- pentaho - pentaho 报表设计器:如何关闭文本换行选项?
- python - 将“days_since_epoch”列添加到 Pandas TimeSeries DataFrame
- java - WSSE - 在 soapenv:Header 中签署一个元素
- php - 为“收藏夹”的缩略图元素添加一个类,这是一个wordpress插件
- c# - 如何总计一个 FloatResidentArray 并将值检索到设备或主机
- php - 如何从 SonataAdmin 验证器连接到其他验证器?
- ios - 通过单击表格单元格内的按钮时的适当差异来扩展表格视图并增加滚动视图内容大小
- jquery - 用什么代替“上下文”来修改 SVG?