2016-09-05 81 views
0

为什么下面的两个方法定义不能编译?使用已知类型参数化类

b.head应该编译,因为b是List的“自定义类型”。

List[T](a)List[T]类型中的哪一个相同genericList

type T = Any 

type genericList = List[T] 

class usesGenericList[genericList](val a: T, b: genericList){ 

    def head() = b.head 
    // error: value head is not a member of type parameter genericList 

    def returnGenericList: genericList = List[T](a) 
// error: found: List[$sess.cmd203.T](which expands to) List[Any] required: genericList 

} 

回答

1

您阴影外type genericListclass usesGenericList[genericList]。只要删除类的类型参数。

+0

Shucks!谢谢,愚蠢的错误。 – Samar