2
我有以下代碼:可用盡管ClassTag沒有ClassTag定義
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已添加到泛型參數的事實。我錯過了什麼?
以上斯帕塞夫克託是微風線性代數包(breeze.linalg
)
'import scala.reflect.ClassTag'? –
是的,它是進口的。 – user1094206
那麼,如果我定義'MyTrait',那編譯好就好了。 –