Swift:无法推断通用参数 'T'
Swift : Generic parameter 'T' could not be inferred
我有一个名为 P
的协议,我想编写一个函数来 return 一个符合该协议的任何类型的实例。
我写了这个:
func f<T: P>() -> T? {
// ...
}
但是当我尝试调用它时:
var fp = f()
我收到此错误:Generic parameter 'T' could not be inferred
。我做错了什么以及如何解决这个问题?
感谢您的帮助。
你非常接近。假设您有一个符合 P
的 struct
A
。然后您可以按如下方式指定通用参数:
var fp: A? = f()
没有这些信息,编译器无法知道 fp
应该是什么类型。
我有一个名为 P
的协议,我想编写一个函数来 return 一个符合该协议的任何类型的实例。
我写了这个:
func f<T: P>() -> T? {
// ...
}
但是当我尝试调用它时:
var fp = f()
我收到此错误:Generic parameter 'T' could not be inferred
。我做错了什么以及如何解决这个问题?
感谢您的帮助。
你非常接近。假设您有一个符合 P
的 struct
A
。然后您可以按如下方式指定通用参数:
var fp: A? = f()
没有这些信息,编译器无法知道 fp
应该是什么类型。