首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型广播UnsafeMutablePointer<Void>到UnsafeMutablePointer<#Struct type#>

类型广播UnsafeMutablePointer<Void>到UnsafeMutablePointer<#Struct type#>
EN

Stack Overflow用户
提问于 2014-09-24 00:32:16
回答 1查看 4.6K关注 0票数 9

我在Swift中创建了一个名为RGB的结构,非常简单:

代码语言:javascript
复制
struct PixelRGB {
    var r: CUnsignedChar = 0
    var g: CUnsignedChar = 0
    var b: CUnsignedChar = 0

    init(red: CUnsignedChar, green: CUnsignedChar, blue: CUnsignedChar) {
        r = red
        g = green
        b = blue
    }
}

我有一个指针var imageData: UnsafeMutablePointer<PixelRGB>!

我希望为这个指针设置一些空格,但是malloc返回UnsafeMutablePointer<Void>,我不能像下面这样转换它:

代码语言:javascript
复制
imageData = malloc(UInt(dataLength)) as UnsafeMutablePointer<PixelRGB> // 'Void' is not identical to `PixelRGB`

要解决这个问题吗?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-12-05 00:21:18

你试过以下几种方法吗?

代码语言:javascript
复制
imageData = unsafeBitCast(malloc(UInt(dataLength)), UnsafeMutablePointer<PixelRGB>.self)

参考文献:在Swift中使用遗留C API

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26006710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档