【发布时间】:2016-04-01 15:29:14
【问题描述】:
我正在学习 Scala,但遇到了涉及泛型的错误。我已将特征定义为
trait myTrait[
A, B,
Self[X, Y] <: myTrait[X, Y, Self]] {
protected def self: Self[A, B]
}
和我的班级
class myClass[B] extends myTrait[Int, B, myClass]{
override protected def self:myClass[B] = this
}
这给了我一个编译错误“涉及类 myClass 的非法循环引用”。如果我将 myClass 声明为
,错误就会消失class myClass[A, B] extends myTrait[A, B, myClass]{
override protected def self:myClass[A, B] = this
}
我做错了什么?
【问题讨论】:
标签: scala