ругается на переменную
выдает ошибку при попытке записать в переменную значение : This variable must either have a type annotation or be initialized
private fun InitAuth () {
// Retrieves the user's saved password for your app from their
// password provider.
val getPasswordOption = GetPasswordOption()
// Get passkey from the user's public key credential provider.
// val requestJson
lateinit var requestJson
val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = requestJson
)
}
А если не объявлять переменную, то будет писать ошибку: Unresolved reference: requestJson
вот тут указано именно так написать - без указания значения и без указания типа и без инициализации пермеренной

Ответы (1 шт):
Давайте я разберу код по строкам прямо.
lateinit var requestJson
Объявляем переменную lateinit var, т.е. без типа и с поздней инициализацией, и не присваиваем ей ничего.
val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = requestJson
)
Здесь мы вызываем функцию GetPublicKeyCredentialOption и в качестве параметра функции под названием requestJson передаём нашу переменную requestJson. Тут название параметра функции и название переменной совпадают, но это не должно вас смущать. Можно заменить это понятным примером, который даст ту же самую ошибку:
lateinit var requestJson
val x = requestJson
Что мы тут хотим присвоить переменной x? Отсутствующее значение неизвестного типа. Если бы хотя бы тип переменной был известен, компилятору можно было бы инициализировать её значением по умолчанию для данного типа. Но в данном случае у компилятора нет вообще никаких подсказок, что же за значение должно быть в этой переменной и он вас прямо просит указать хотя бы одну из таких подсказок.
Надеюсь, так понятнее, откуда возникает ошибка.
P.S. Я Kotlin вообще не знаю, руководствуюсь знанием других языков программирования и здравым смыслом.