我有这样的类层次结构:
abstract class Class1[T <: Class2 : ClassTag] extends Actor {
protected val val1 = context.actorOf(Props[T]) // ops!
//..........
}
abstract class Class2[T <: Actor] extends Actor {
//................
}
然而,它抱怨type arguments [T] do not conform to method apply's type parameter bounds [T <: akka.actor.Actor]
我该如何解决?
答案 0 :(得分:2)
错误是因为您没有使用Class2
传递类型参数。给出类型参数,它可以工作:
abstract class Class1[T <: Class2[_] : ClassTag] extends Actor {
protected val val1 = context.actorOf(Props[T])
}