加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift有“C型”协议吗?

发布时间:2020-12-14 05:24:49 所属栏目:百科 来源:网络整理
导读:我想将泛型约束为可以用C表示的类型.在 Swift标准库中是否存在所有C类型符合的协议或类型? func doWithCTypeT:CRepresentable(cValue: T) { // do thing with C type} 如果不是CRepresentable,可能是CStruct类型? 线索: 使用此C类型: typedef struct { i
我想将泛型约束为可以用C表示的类型.在 Swift标准库中是否存在所有C类型符合的协议或类型?
func doWithCType<T:CRepresentable>(cValue: T) {
    // do thing with C type
}

如果不是CRepresentable,可能是CStruct类型?

线索:

使用此C类型:

typedef struct {
    int hodor;
} Hodor;

我强制将结构转换为不兼容的类型(导致崩溃).这是错误消息:无法将类型’__C.Hodor'(0x1035c0700)的值转换为’Swift.CVarArg'(0x107196240).

我无法在任何地方找到“__C”,但我希望C类型有所区别.

是Swift.CVarArg你需要什么?它适用于可以通过C的va_list机制传递给varargs的类型.

还有CVaListPointer,相当于va_list *.它出现在String(format :)的参数中.

https://developer.apple.com/documentation/swift/cvararg
https://developer.apple.com/documentation/swift/cvalistpointer

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读