0

Scala APIから、次の例を取得しましたが、これはコンパイルされません。

scala> def arr[T] = new Array[T](0)
<console>:10: error: cannot find class manifest for element type T
       def arr[T] = new Array[T](0)
                    ^

なぜコンパイルされないのか疑問に思っていました (Scala API はエラーを説明しません)。通常のパラメータ化されたメソッドではありませんか?なぜコンパイラはそれについて不平を言うのですか?

4

1 に答える 1

7

Manifestコンパイラのエラー メッセージにあるように、制約が必要です。

scala> def arr[T : Manifest] = new Array[T](0)
arr: [T](implicit evidence$1: Manifest[T])Array[T]

詳細については、こちらをご覧ください。詳細については、論文を参照してください。

于 2012-07-03T20:20:50.377 に答える