gpt4 book ai didi

Swift - 对成员 '==' 错误的不明确引用

转载 作者:行者123 更新时间:2023-11-30 10:33:37 24 4
gpt4 key购买 nike

我已经进行了一些搜索,但似乎无法找到以下问题的解决方案。我对 Swift 相当陌生,所以正在解决一些问题。我有下面的函数,它只是一个包含函数签名和返回值的 stub ,只是为了让它编译。<​​/p>

测试代码是我得到的,我没有写这个,不幸的是无法更改它。

我的问题是,当我运行它时,它说调用此函数的测试有“对成员'=='的不明确调用”。我无法更改测试代码。无论问题是什么,我假设都必须在我的函数签名中,但可以使用一些帮助。

我正在编写的函数(我认为包含该问题):

func contains(target: StringOrInt, compare: Character ) -> Bool {                                                                                                
return false
} // contains

调用该函数的测试(我不允许编辑它并且没有编写它):

func test_contains_cons_2_strings_3() {
let list1 = MyList.cons("foo", MyList.cons("bar", MyList.empty))
assertEquals(testName: "test_contains_cons_2_strings_3",
expected: true,
received: list1.contains(target: "bar", compare: ==))//Error is on this line '=='
} // test_contains_cons_2_strings_3

错误:main.swift:807:67: 错误:对成员 '==' 的引用不明确 收到:list1.contains(目标:“foo”,比较:==))

另请注意,“StringOrInt”是我定义的一个协议(protocol),它充当 Int 和 String 的扩展。这样做是因为测试代码(我没有编写且无法编辑)将字符串和整数传递给同一个变量和函数。

提前感谢您的帮助,我真的很感激!

最佳答案

我认为你想通过传递“==”运算符来比较两个字符串并返回一个 bool 值。如果是这样,你可以使用下面的方法,

func myList(_ compare:((String, String) -> Bool)) -> Bool {
return compare("foo","bar")
}

myList(==)

关于Swift - 对成员 '==' 错误的不明确引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58563535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com