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

时间:2016-06-02 18:46:54

标签: scala intellij-idea

以下代码在intellij

中遇到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中定义了它。

任何暗示都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

使用对象时,必须使用单例类型:

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