gpt4 book ai didi

scala - 涉及类的非法循环引用

转载 作者:行者123 更新时间:2023-12-03 04:57:40 24 4
gpt4 key购买 nike

我正在学习 Scala,并且遇到了涉及泛型的错误。我将特征定义为

trait myTrait[
A, B,
Self[X, Y] <: myTrait[X, Y, Self]] {
protected def self: Self[A, B]
}

我的类(class)为

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
}

我做错了什么?

最佳答案

这不是我在 2.11.7 中遇到的错误:

myClass takes one type parameter, expected: two

这是有道理的:myClass 用作 MyTraitSelf 参数,它需要两个类型参数。

关于scala - 涉及类的非法循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36347880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com