Вы объявили переменную t2
статического типа TreeMap[Int, Int]
.Поэтому для компилятора каждый раз, когда вы используете t2
, он будет предполагать, что это экземпляр TreeMap[Int, Int]
.lowerNeighbor
- это не метод, определенный для TreeMap
с, но для BinarySearchTree
с.Статический тип вашей переменной должен быть BinarySearchTree
, если вы хотите вызвать метод lowerNeighbor
. *
* Это игнорирует неявные преобразования, которые вы, возможно, захотите прочитать, как только выВыяснились проблемы статического и динамического типов.