Typecast UnsafeMutablePointer 为UnsafeMutablePointer (Typecast UnsafeMutablePointer to UnsafeMutableP

编程入门 行业动态 更新时间:2024-10-28 02:35:51
Typecast UnsafeMutablePointer 为UnsafeMutablePointer <#Struct type#>(Typecast UnsafeMutablePointer to UnsafeMutablePointer<#Struct type#>)

我在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一些空间,但是malloc返回UnsafeMutablePointer<Void> ,我不能像下面这样UnsafeMutablePointer<Void>它:

imageData = malloc(UInt(dataLength)) as UnsafeMutablePointer<PixelRGB> // 'Void' is not identical to `PixelRGB`

无论如何解决这个问题? 感谢您的帮助!

I created a struct in Swift called RGB, simple enough:

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 } }

And I have a pointer var imageData: UnsafeMutablePointer<PixelRGB>!.

I wish to malloc some space for this pointer, but malloc returns UnsafeMutablePointer<Void> and I cannot cast it like below:

imageData = malloc(UInt(dataLength)) as UnsafeMutablePointer<PixelRGB> // 'Void' is not identical to `PixelRGB`

Anyway to solve this? Thank you for your help!

最满意答案

我想你想说的是这样的:

imageData = UnsafeMutablePointer<PixelRGB>.alloc(dataLength)

I think what you want to say is something like this:

imageData = UnsafeMutablePointer<PixelRGB>.alloc(dataLength)

更多推荐

本文发布于:2023-07-25 10:49:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1260075.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Typecast   UnsafeMutablePointer

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!