【问题标题】:getting error message of Type 'UnsafeMutableRawPointer' has no subscript members'收到“UnsafeMutableRawPointer”类型的错误消息没有下标成员
【发布时间】: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 没有下标成员”

我该如何解决这个问题。请有任何想法

【问题讨论】:

    标签: malloc swift4


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-11
      • 2020-01-05
      • 2020-10-07
      • 1970-01-01
      • 2021-06-05
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多