加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala编译错误

发布时间:2020-12-16 09:17:28 所属栏目:安全 来源:网络整理
导读:无法确定StrangeIntQueue扩展队列有什么问题,为什么会出现错误“构造函数没有足够的参数Queue:(leading:Int)list.Lister.Queue [Int].未指定的值参数”.如何指定? class Queue[+T]( private val leading: T ) { def enqueue[U : T](x: U) = new Queue[U](
无法确定StrangeIntQueue扩展队列有什么问题,为什么会出现错误“构造函数没有足够的参数Queue:(leading:Int)list.Lister.Queue [Int].未指定的值参数”.如何指定?

class Queue[+T](
    private val leading: T
  ) {
    def enqueue[U >: T](x: U) =
      new Queue[U](leading: U) // ...
  }

  class StrangeIntQueue(private val leading: Int) extends Queue[Int] {
    override def enqueue(x: Int) = {
      println(math.sqrt(x))
      super.enqueue(x)
    }
  }

解决方法

extends Queue[Int](leading)

即使看起来似乎很明显,你必须传递论点.

还要注意的是,由于您已经声明了领先的私有,所以您将获得两个副本:一个用于StrangeIntQueue,一个用于Queue. (否则你可能只有StrangeIntQueue(leading0:Int)扩展Queue [Int](leading0)并使用引导内部的继承副本.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读