このmain.swift
ファイルには、受信確認システム ( Receigenによって生成されたもの) への呼び出しがあります。Swift 2 では、以下をおmain.swift
読みください。
startup(Process.argc, UnsafeMutablePointer<UnsafePointer<Int8>>(Process.unsafeArgv))
Swift 3 にアップグレードした後、次のようになりました。
startup(CommandLine.argc, UnsafeMutablePointer<UnsafePointer<Int8>>(CommandLine.unsafeArgv))
エラーを示します:
UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>
型(akaUnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>
) の値を期待される引数の型に変換できませんUnsafeMutablePointer<_>
更新:リンクされた質問を使用して、次のようにします:
startup(CommandLine.argc, UnsafeMutableRawPointer(CommandLine.unsafeArgv)
.bindMemory(
to: UnsafeMutablePointer<Int8>.self,
capacity: Int(CommandLine.argc)))
プロデュース:
UnsafeMutablePointer<Int8>.Type
型の値を予期される引数型UnsafePointer<Int8>?.Type
(別名Optional<UnsafePointer<Int8>>.Type
)に変換できません
コンパイラが参照している場所to:UnsafeMutablePointer
。
スタートアップのヘッダーは次のようになります。
int startup(int argc, const char * argv[]);
変数をスタートアップに渡すにはどうすればよいmain.swift
ですか?