我有以下功能
func func1(str1: (String...),str: String){ //wrong one error "cannot create variadic tuple"
}
func func1((str1:String...),str: String){ //wrong one error "cannot create variadic tuple"
}
当我尝试编写上面的代码时,它显示错误“无法创建可变元组”。但是当我尝试更改下面的参数位置时它会起作用
func func1(str: String,str1: (String...)){ //Right one
}
func func1(str: String,str1: String...){ //Right one
}
我刚刚更改了参数位置,任何人都可以帮我理解我做错了什么吗?
答案 0 :(得分:2)
Variadic参数必须始终是函数的最后一个参数。来自Swift文档:
一个函数最多只能有一个可变参数,并且必须始终 出现在参数列表的最后,以避免在调用时出现歧义 具有多个参数的函数。