gpt4 book ai didi

swift : Generic parameter 'T' could not be inferred

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:08 26 4
gpt4 key购买 nike

我有一个名为 P 的协议(protocol),我想编写一个函数来返回符合该协议(protocol)的任何类型的实例。

我是这样写的:

func f<T: P>() -> T? {
// ...
}

但是当我尝试调用它时:

var fp = f()

我收到此错误:无法推断通用参数“T”。我做错了什么以及如何解决这个问题?感谢您的帮助。

最佳答案

你非常接近。假设您有一个符合 Pstruct A。然后您可以按如下方式指定通用参数:

var fp: A? = f()

没有这些信息,编译器就无法知道 fp 应该是什么类型。

关于 swift : Generic parameter 'T' could not be inferred,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54240189/

26 4 0