ни одна из следующих функций не может быть вызвана с предоставленными аргументами kotlin error - PullRequest
0 голосов
/ 04 сентября 2018

Я пробовал некоторые основы kotlin ->

программа:

fun createDate(day: Int, month: Int, year: Int, hour: Int = 0, minute: Int = 0, second: Int = 0) {
print("TEST", "$day-$month-$year $hour:$minute:$second")
}
createDate(1,7,1997)

ошибка:

error: none of the following functions can be called with the arguments supplied: 
@InlineOnly public inline fun print(message: Any?): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Boolean): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Byte): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Char): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: CharArray): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Double): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Float): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Int): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Long): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Short): Unit defined in kotlin.io
print("TEST", "$day-$month-$year $hour:$minute:$second")

любая идея, что я делаю неправильно, я следил за этим -> https://www.toptal.com/software/kotlin-android-language

1 Ответ

0 голосов
/ 04 сентября 2018

Так и должно быть, потому что функция печати по умолчанию kotlin имеет только один параметр

fun createDate(day: Int, month: Int, year: Int, hour: Int = 0, minute: Int = 0, second: Int = 0) {
    print("$day-$month-$year $hour:$minute:$second")
}

Потому что функция печати по умолчанию kotlin вот так

/** Prints the given message and newline to the standard output stream. */
public expect fun println(message: Any?)

 /** Prints the given message to the standard output stream. */
public expect fun print(message: Any?)

, поэтому вы не можете отправить двойные параметры в функции печати. ​​Поэтому используйте

print("$day-$month-$year $hour:$minute:$second")

вместо

print("TEST", "$day-$month-$year $hour:$minute:$second")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...