无法找到' *'接受提供的参数

时间:2015-08-08 10:53:03

标签: ios swift

本周早些时候开始学习Swift,我正在做一些快速练习来学习它。

我试图将Celcius转变为Farenheit,这就是我所拥有的:

    var tempInCelcius = 30

    var tempInFarenheit = tempInCelcius * 1.8 + 32

但是我收到以下错误:

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

我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分:1)

tempInCelcius声明为Int(整数文字的默认类型)  1.8被推断为Double

在Swift中你不能用不同类型做数学。

解决方案是明确声明tempInCelcius

var tempInCelcius : Double = 30

或隐含地

var tempInCelcius = 30.0

Double。然后乘法工作。

var tempInFahrenheit = tempInCelcius * 1.8 + 32

与变量不同,像32这样的字面数字必须具有不同的类型,并且推断为正确的操作类型(如果可能)