我在苹果网站上阅读了快速文档.
有一个函数swapTwovalues,它可以交换两个给定的值
有一个函数swapTwovalues,它可以交换两个给定的值
func swapTwovalues1<T>(_ a: inout T,_ b: inout T) { let temporaryA = a a = b b = temporaryA }
现在我想写类似的功能,但不是使用T泛型类型,我想使用Any
func swapTwovalues2(_ a: inout Any,_ b: inout Any) { let temporaryA = a a = b b = temporaryA }
我写这个函数
var a = 5 var b = 9 swapTwovalues1(&a,&b) swapTwovalues2(&a,&b)
我有两个问题.
1)为什么编译器为第二个函数提供了这个错误(不能将不可变值作为inout参数传递:从’Int’到’Any’的隐式转换需要一个临时的)
2)Generic类型和Any之间有什么区别
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。