gpt4 book ai didi

swift - 创建不安全通用指针时出现语法错误(无法推断通用参数 'Pointee')

转载 作者:行者123 更新时间:2023-11-30 12:41:16 25 4
gpt4 key购买 nike

我正在围绕 GObject 构建包装器,并且我正在尝试为其创建通用指针

class Object<T> {
internal(set) var object = UnsafeMutablePointer(nil)
}

但我收到此错误

enter image description here

我认为该类型应该得到解决,但是编译器会提示。我是否正确创建了这个指针?这只是编译器错误,还是我做错了?

<小时/>

编辑我尝试了我想到的所有语法,如下所示:

class Object<T> {
internal(set) var object: UnsafeMutablePointer<T>?

init() {
object = UnsafeMutablePointer<T>(nil)
}
}

似乎没有任何作用,因为编译器以某种方式无法解析类型

enter image description here

最佳答案

第二种方法中的类型声明是正确的。出现错误消息“Ambigously use”是因为 UnsafeMutablePointer有两个接受 nil 的初始值设定项候选者:需要 OpaquePointer? 的一个一个需要 UnsafeMutablePointer<T>? .

就您而言,您应该简单地分配 nil :

init() {
object = nil
}

您也可以在属性定义中执行此操作,无需在 init 中执行此操作.

关于swift - 创建不安全通用指针时出现语法错误(无法推断通用参数 'Pointee'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42201864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com