그래서 나는 정의 스칼라의 다형성 데이터 유형 트리유형 클래스
sealed trait Tree[+A]
final case class Node[A](value: A) extends Tree[A]
final case class Branch[A](value: A, left: Tree[A], right: Tree[A]) extends Tree[A]
object Tree{
implicit def eqTree[T]: Eq[Tree[T]] = new Eq[Tree[T]] {
override def ==(t1: Tree[T], t2: Tree[T]): Boolean = true
}
}
그리고
trait Eq[T]{
def == (t1: T, t2: T) : Boolean
}
그리고 내가
을하려고 식 타입 클래스를 다음과했다object App1 extends App{
import Tree._
def equality[T](t1: T, t2: T)(implicit eq: Eq[T]): Boolean = eq.==(t1, t2)
println(equality(Node(1), Node(2)))
}
그러나 나는 다음과 같은 오류를 얻을
Error:(35, 19) could not find implicit value for parameter eq: typeclasses.Eq[typeclasses.Node[Int]]
println(equality(Node(1), Node(2)))
경우'T1'와'T2'이 선언되고
그래서 기본적으로이 컴파일러는보고 무엇인가? – pedrofurla