Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 3:扩展中的重载函数_Swift_Parameters_Overloading - Fatal编程技术网

Swift 3:扩展中的重载函数

Swift 3:扩展中的重载函数,swift,parameters,overloading,Swift,Parameters,Overloading,我喜欢重载一个函数: extension Array where Element: Equatable { mutating func remove(object: Element) { if let index = self.index(of: object) { self.remove(at: index) } } } 但我有一个错误,那就是电话 primary.remove(dupp) 不匹配任何重载。如果我使用自

我喜欢重载一个函数:

extension Array where Element: Equatable {
    mutating func remove(object: Element) {
        if let index = self.index(of: object) {
            self.remove(at: index)
        }
    }
}
但我有一个错误,那就是电话

primary.remove(dupp)

不匹配任何重载。如果我使用自己的名称,则调用是匹配的,编译器希望在第一个参数之前添加“object:”。所以这个电话似乎没问题,但怎么了?如果我添加“object:”手动,它工作正常。

您使用的是哪个版本的swift?因为它没有在swift 2.2中编译。我不理解你的问题
primary.remove(对象:dump)
是调用方法的正确方法。如果不需要参数标签,请将其定义为
mutating func remove(uu.object:Element)
。编译器建议,不直接添加“object:”时不会出现重载。但你的暗示很好,我会加上“变异”。谢谢。您使用的是哪个版本的swift?因为它没有在swift 2.2中编译。我不理解你的问题
primary.remove(对象:dump)
是调用方法的正确方法。如果不需要参数标签,请将其定义为
mutating func remove(uu.object:Element)
。编译器建议,不直接添加“object:”时不会出现重载。但你的暗示很好,我会加上“变异”。非常感谢。