在 scala 的树数据结构中定义空节点时出错



以下代码在智能中遇到not found错误

case class Node[A](value: A, left: TreeNode[A], right: TreeNode[A]) extends TreeNode[A]
case class Leaf[A](value: A, left: Empty, right: Empty) extends TreeNode[A]
case object Empty extends TreeNode[Nothing]

这是我尝试编译代码时的错误

Error:(10, 36) not found: type Empty 
case class Leaf[A](value: A, left: Empty, right: Empty) extends TreeNode[A]
                               ^

我不确定为什么找不到Empty,因为我在 case object 中定义了它。

任何提示将不胜感激。

对于对象,您必须使用其单例类型:

case class Leaf[A](value: A, left: Empty.type, right: Empty.type) extends TreeNode[A]

最新更新