И новичок из Kotlin спрашивает: "почему не скомпилируется следующий код?":
var left: Node? = null
fun show() {
if (left != null) {
queue.add(left) // ERROR HERE
}
}
Интеллектуальное приведение к "Узлу" невозможно, поскольку "left" является изменяемым свойством, которое могло быть изменено к этому времени.
Я получаю, что left
является изменяемой переменной, но я явно проверяю left != null
и left
имеет тип Node
так почему же он не может быть умно приведен к этому типу?
Как я могу это исправить элегантно? :)