0
这需要帮助的是我试图用在使用雨燕INOUT可选
func merge(inout A: DNode?, inout And B: DNode?) -> DNode? {
if A == nil && B == nil {
return nil
}
if A == nil {
return B
}
if B == nil {
return A
}
return A!.isLessThan(B!) ? A! : B!
}
这里的功能是我试图使用功能“合并”
class Heap {
var minDNode: DNode?
func start(inout newNode: DNode) {
self.minDNode = merge(&self.minDNode, And: &newNode) // error
// Cannot invoke 'merge' with an argument list of type '(inout DNode?, And: inout DNode)'
}
func merge(inout A: DNode?, inout And B: DNode?) -> DNode? {
...
}
}
我怎样才能修复问题?
望着从Swift optional inout parameters and nil答案,
使
var minDNode: DNode?
到
var minDNode: DNode? = nil
没有解决问题
为什么'merge()'获取inout参数?参数没有修改,所以这似乎是一个不必要的复杂。 –
哦,,我从功能 –