有没有办法在最新的Swift 3快照中使用C variadic函数?的这个

问题描述:

的一个例子是ioctl有没有办法在最新的Swift 3快照中使用C variadic函数?的这个

error: 'ioctl' is unavailable: Variadic function is unavailable

Darwin.ioctl:2:13: note: 'ioctl' has been explicitly marked unavailable here 
public func ioctl(_: Int32, _: UInt, _ varargs: Swift.Any...) -> Int32 

当它被选自C进口,它表现为正常标记为接受可变参数。

这是这种情况?

为什么它被标记为明确不可用? Swift 3.0不支持这个吗?

解决这个问题的唯一方法是在C中创建一个不是可变参数的包装函数。然而,正在努力为达尔文的函数创建需要它的包装器,并且最近通过this commit为ioctl添加了多个包装器。

要使用包装,你需要一个至少像6月22日快照一样的新版本。确保你正在使用该工具链。