鉴于此功能:
func anInt() -> Int {
return 5
}
这不起作用:
anInt() / Double(2)
>> ERROR: Could not find an overload for '/' that accepts the supplied arguments
然而这有效:
5 / Double(2)
>> 2.5
答案 0 :(得分:9)
当你调用anInt() / Double(2)
时,编译器知道你正在尝试将一个Int除以一个Double并且不允许这样做,但当你调用5 / Double(2)
时,它可以推断出5的类型为双倍,因为你将它除以双倍。