sealed class Person () {
data class Man (val name: String): Person()
data class Woman (val name: String): Person()
fun stringOf(): String {
return when (this) {
is Person.Man -> "Mr "+this.name
is Person.Woman -> "Mrs "+this.name
}
} // works fine
fun nameOf() : String {
return this.name // error: unresolved reference: name
}
}
fun main(args: Array<String>) {
val man = Person.Man("John Smith")
println (man.stringOf())
}
Почему код выше дает ошибка: неразрешенная ссылка: имя для функции nameOf и работает правильно для функции stringOf , которая выглядит очень похоже.