Ваш класс имеет первичный конструктор, который принимает два аргумента, а затем вы определяете вторичный конструктор, который принимает один аргумент.
Теперь, согласно документации Kotlin :
Если у класса есть первичный конструктор, каждый вторичный конструктор должен делегировать первичному конструктору, прямо или косвенно, через другой вторичный конструктор (ы).
Вы пытаетесьсделать это, вызвав this()
, но поскольку у вас нет конструктора с нулевым аргументом (первичного или вторичного), это приводит к ошибке компиляции.
Чтобы исправить, например, вы можете вызвать основнойконструктор из вашего вторичного конструктора следующим образом:
class Manager (var name: String, var nationality: String) {
constructor(agent: String): this(agent, "") {}
}