1
Компилятор продолжает производить следующие ошибки:Нет ClassTag ошибка компиляции доступны
No ClassTag available for a
val keys = Array.fill(maxSize+1){ default[a] }
^
not enough arguments for method fill: (implicit evidence$9: scala.reflect.ClassTag[a])Array[a].
Unspecified value parameter evidence$9.
val keys = Array.fill(maxSize+1){ default[a] }
^
за этот кусок кода
object Utils {
def default[a] = {
class DefaultVal {
var x: a = _
}
(new DefaultVal).x
}
}
class IndexedHeap[a](maxSize: Int)(implicit ev: Ordering[a]) {
import ev._
import Utils._
val keys = Array.fill(maxSize+1){ default[a] }
}
Любые идеи о том, как это исправить?
Если я добавлю это в определение класса, компилятор не сможет сказать «Не может иметь как неявные параметры, так и границы контекста» – synapse
Это правда, вы должны добавить его как неявный параметр, например неявный ev: Ordering [a], ct : ClassTag [a]. –