2016-09-05 1 views
0

なぜコンパイルしないで下の2つのメソッドの定義は何ですか? bは、リストの「カスタムタイプ」であるため、知られているタイプとクラスをパラメータ

b.headをコンパイルする必要があります。

List[T](a)はあなたがclass usesGenericList[genericList]と外側type genericListシャドウ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

と同じであるタイプList[T]です。クラス型パラメータを削除するだけです。

+0

Shucks!ありがとう、愚かな間違い。 – Samar

関連する問題