所以我试着写一些基本的斯威夫特,我写了:
func timesByHundred(d: Int) {
return d * 100
}
编译器说“不能用类型为”(int,integerliteralconvertible)“的参数列表调用”*“”。所以我把它改成:
func timesByHundred(d: Int) {
let e: Int = 100
return d * e
}
编译器说“不能用类型为”(int,int)“的参数列表调用”*“。”如果不是两个整数,我还能乘什么??这里有一些类似的问题,但他们都有人尝试在不同类型上操作。
最佳答案
编译器错误具有误导性。
真正的问题是,您错过了函数返回类型的声明,因此编译器会推断出Void
并在尝试(和失败)为返回*
的Void
找到合适的重载时感到困惑。
将您的功能更改为
func timesByHundred(d: Int) -> Int {
return d * 100
}