看来我不明白一些重要的事情,也许是关于擦除(该死)。
我有一个方法,我想创建一个大小数组,其中n
填充了以下值gen
:
def testArray[T](n: Int, gen: =>T) {
val arr = Array.fill(n)(gen)
...
}
并使用它,例如:
testArray(10, util.Random.nextInt(10))
但我得到错误:
scala: could not find implicit value for evidence parameter of type scala.reflect.ClassManifest[T]
val arr = Array.fill(n)(gen)
^
请解释我做错了什么,为什么会出现这个错误,以及它使什么样的代码变得不可能?