これら二つの方法にあるない(同じ名前が異なる外部パラメータ名)、オーバーロードを追加:同じ名前で外部パラメータ名が異なる複数の関数がコンパイルエラーを生成するのはなぜですか?
func add (x:Int, y:Int) -> Int {
return x+y
}
add(x: 1,y: 2)
add(x: 4,y: 2)
func add (_ x:Int, _ y:Int) -> Int {
return x+y
}
add(4,5) // Delete this, and the error goes away
func add (addend1 x:Double, addend2 y:Double) -> Double {
return x + y
}
add(addend1: 1.1, addend2: 2.2) // But the error is flagged here
add(addend1: 3.3, addend2: 4.4) // and here
のXcode 8.2ベータ版(8C30a)遊び場フラグ最後の2行で:
式タイプを " Int 'は文脈がなくてもあいまいです
外部パラメータ名がすべて異なるため、これはあいまいではありません。それでも、これはSwift Compile Errorと表示されますが、Expression領域では3.3と7.7と評価されます。コンパイルしていますが、まだコンパイルしていませんか?
これはXcodeのバグですか?
あなたのコードは、私のXcode 8.2 final(8C38)でコンパイルされます。ベータ版のバグであるか、問題の原因となっているものがあります。あなたは他に何もない新しいプロジェクトでそれを試しましたか? –
元の投稿を編集して、エラーを再現したより良い仕事をしました。 – MikeJfromVA
XCode 8.2 8C38を使用して同じコードからエラーが発生します。 – MikeJfromVA