getting error message of Type 'UnsafeMutableRawPointer' has no subscript members'

霸气de小男生 提交于 2020-01-24 21:27:05

问题


i just need to alloc memory & set values there.Here is my code.

 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

but I am getting an error message in swift version 4 saying "UnsafeMutableRawPointer has no subscript members"

How can I fixed this.Any ideas please


回答1:


You should better check the official documentation of UnsafeMutableRawPointer

You can write something like this:

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)

Or you should better use UnsafeMutablePointer<Float> instead, if all the elements are Float.

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

weights[some index] = some vale


来源:https://stackoverflow.com/questions/52733309/getting-error-message-of-type-unsafemutablerawpointer-has-no-subscript-members

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!