我有以下代码:
trait MyTrait[B] {
def func()
}
class A[B: ClassTag : Zero](val x: SparseVector[B]) extends MyTrait[B] {
def this(x: Seq[(Int,B)]) = this({
val (index, vals) = x.unzip
vals.toArray
new SparseVector[B](index.toArray, vals.toArray, vals.length)
})
def func(): Unit = {}
}
error: No ClassTag available for B
尽管 ClassTag 已添加到泛型参数中,但仍会得到一个。我错过了什么?
SparseVector 上面是微风线性代数包(breeze.linalg
)的成员