【发布时间】:2017-05-25 04:10:20
【问题描述】:
这段代码在 Swift2.3 中运行良好,现在我将其转换为 Swift3。所以我收到了这个错误。任何人都有想法,如何解决这个问题?
var cmdLnConf: OpaquePointer?
fileprivate var cArgs: [UnsafeMutablePointer<Int8>]
public init?(args: (String,String)...) {
// Create [UnsafeMutablePointer<Int8>].
cArgs = args.flatMap { (name, value) -> [UnsafeMutablePointer<Int8>] in
//strdup move the strings to the heap and return a UnsageMutablePointer<Int8>
return [strdup(name),strdup(value)]
}
cmdLnConf = cmd_ln_parse_r(nil, ps_args(), CInt(cArgs.count), &cArgs, STrue)
if cmdLnConf == nil {
return nil
}
}
【问题讨论】:
-
请不要用图片代替代码;将代码粘贴到您的问题中。
-
另外,你的问题的标题给了你答案......
-
对不起,我是 swift to c 的新手。我完全不知道如何解决它。你能帮帮我吗?
-
错误告诉你,不是
[UnsafeMutablePointer<Int8>],而是UnsafeMutablePointer<Int8>,(所以没有括号)...... -
但这在 swift2.3 中是正确的,如果我删除括号,还会出现许多其他错误--!
标签: c swift3 swift2 unsafemutablepointer