Swift无法使用类型'(Int,Int)'的参数列表调用'*'

时间:2015-05-04 23:51:59

标签: swift

所以我试着写一些基本的Swift,我写道:

func timesByHundred(d: Int) {
    return d * 100
}

并且编译器说“无法使用类型'(Int,IntegerLiteralConvertible)'”的参数列表调用'*'。所以我把它改成了:

func timesByHundred(d: Int) {
    let e: Int = 100
    return d * e
}

并且编译器说“不能使用类型'(Int,Int)'”的参数列表调用'*'。如果不是两个整数,我甚至可以乘以什么?这里有一些类似的问题,但他们都有人试图在不同的类型上运作。

1 个答案:

答案 0 :(得分:9)

编译错误具有误导性。

真正的问题是你错过了函数返回类型的声明,所以编译器推断出Void并且在尝试(并且失败)时找到适合的*重载时会感到困惑Void

将您的功能更改为

func timesByHundred(d: Int) -> Int {
    return d * 100
}