2015-08-08 48 views
1

本週早些時候開始學習Swift,我正在做一些快速實踐來學習它。無法找到接受提供的參數的'*'的重載

我想攝氏度轉換成華氏度,這是我有:

var tempInCelcius = 30 

    var tempInFarenheit = tempInCelcius * 1.8 + 32 

但是我得到下面的錯誤:

error: could not find an overload for '*' that accepts the supplied arguments 

我缺少的東西真的很明顯嗎?

回答

1

tempInCelcius被聲明爲Int(整數字面值的默認類型)。
1.8推斷爲Double

在Swift中,你不能用不同的類型進行數學運算。

解決辦法是宣佈tempInCelcius明確

var tempInCelcius : Double = 30 

或隱含

var tempInCelcius = 30.0 

Double。然後乘法運作。

var tempInFahrenheit = tempInCelcius * 1.8 + 32 

不同於變量等32文字數字必須不同類型和被推斷爲適當的類型的操作的(如果可能的話)

相關問題