
[code]

    import Foundation
    
    func stdWeight(hegihtCm height: Double, #bmi: Double) ->  Double{
        return pow(height / 100.0,2) * bmi
    }
    let height = 180.0
    let w1 = stdWeight(hegihtCm: height, bmi: 22.0)
    print("身長が\(height)cmの人の標準体重は\(w1)kgです")
    
[/code]

外部引数と内部引数を同じ名前で公開しようとした際に、  
3行目の#bmiのところでExpected parameter name followed by ':'  
と、エラーがでてしまっています。  
検索をしても解決方法が分からなかったのでご質問させて頂きます。  
このコンパイルエラーが分かる方いらっしゃったらご教授お願いします。


CC BY-SA 3.0
2017-01-15T04:56:08.550
31863
2017-01-15T07:37:45.137
2017-01-15T07:35:33.150
20228
20228
question
swift xcode swift3
Swift3 コンパイルエラー


ずいぶん古いSwiftの書き方をご存知ですね。現在のSwift(2.0以降)では関数でもメソッドでもすべての(※)パラメータがデフォルトで引数ラベル(外部名)を持つと言うルールに共通化されため、`#`を使った書き方は削除されています。(※Swift2では第1引数のみ別扱い。)

単純に`#`を削除してください。

[code]

    func stdWeight(hegihtCm height: Double, bmi: Double) ->  Double{
        return pow(height / 100.0,2) * bmi
    }
    
[/code]


CC BY-SA 3.0
2017-01-15T05:25:03.620
31865
2017-01-15T07:37:45.137
2017-01-15T07:37:45.137
13972
13972
31863
answer