3

そのジェネリック型のパラメーターを取り、そのジェネリック型の何かを返すメソッドの上限を持つジェネリック ファクトリ メソッドを作成しようとしています。私はこれを試しました、

def apply[Type <: {def *(that: Type): Type}](length: Int)(implicit manifest: Manifest[Type]) = new Array[Type](length)

しかし、私はこのエラーを受け取ります、

Parameter type in structural refinement may not refer to an abstract type defined outside that refinement

とにかくこれを機能させる方法はありますか?

4

1 に答える 1

0

そのエラーメッセージによると、*次のような汎用関数として定義する必要があります: def apply[Type <: {def *[Type](that: Type): Type}](length: Int)(implicit manifest: Manifest[Type]) = new Array[Type](length)

于 2012-11-23T07:11:00.127 に答える