Swift 3.0并收到此错误,不确定原因:

代码:

func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
    return list.dropFirst()
}

错误:
error: repl.swift:1:48: error: use of undeclared type 'T'
func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
                                               ^

最佳答案

您需要指定ArraySlice的通用参数,仅用作ArraySlice<T>不会声明T:

func rest<T>(_ list: ArraySlice<T>) -> ArraySlice<T> {
    return list.dropFirst()
}

或者:
class MyClass<T> {
    func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
        return list.dropFirst()
    }
}

关于Swift:错误:使用未声明的类型 'T',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40031650/

10-09 09:19