Swift:错误:使用未声明类型'T'

at.*_*at. 4 generics swift swift3

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

码:

func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
    return list.dropFirst()
}
Run Code Online (Sandbox Code Playgroud)

错误:

error: repl.swift:1:48: error: use of undeclared type 'T'
func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
                                               ^
Run Code Online (Sandbox Code Playgroud)

OOP*_*Per 8

你需要指定泛型参数ArraySlice,只需使用as as ArraySlice<T>not declare T:

func rest<T>(_ list: ArraySlice<T>) -> ArraySlice<T> {
    return list.dropFirst()
}
Run Code Online (Sandbox Code Playgroud)

要么:

class MyClass<T> {
    func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
        return list.dropFirst()
    }
}
Run Code Online (Sandbox Code Playgroud)