我在Swift中创建了一个名为RGB的结构,非常简单:
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>,我不能像下面这样转换它:
imageData = malloc(UInt(dataLength)) as UnsafeMutablePointer<PixelRGB> // 'Void' is not identical to `PixelRGB`要解决这个问题吗?谢谢你的帮助!
发布于 2014-12-05 00:21:18
你试过以下几种方法吗?
imageData = unsafeBitCast(malloc(UInt(dataLength)), UnsafeMutablePointer<PixelRGB>.self)参考文献:在Swift中使用遗留C API
https://stackoverflow.com/questions/26006710
复制相似问题