2017-05-08 3 views
0
import Foo.x 

object Foo { 
    var x = 5 
} 

fun main(args: Array<String>) { 
    ++x // or x += 1 
} 

Wenn ich versuche, es zu kompilieren, bekomme ich this error.Inkremente verursachen Buildfehler

Aber wenn ich ++x mit x = x + 1 ersetze alles kompiliert einfach gut.

Ich bin ziemlich neu in der Sprache und kann nicht verstehen, was das Problem ist. Ist es ein erwartetes Verhalten oder ist ein Fehlerbericht erforderlich?

+0

Der Compiler sollte niemals eine solche Ausnahme auf Ihr Gesicht werfen. Es ist also ein Fehler im Compiler, und Sie sollten es Kotlin melden (falls es noch nicht existiert). –

+4

Ich habe das Problem https://youtrack.jetbrains.com/issue/KT-17779 gemeldet –

Antwort

1

Sie haben einen Fehler im Compiler festgestellt. Ich habe das Problem in https://youtrack.jetbrains.com/issue/KT-17779 gemeldet.

Sie können den Code als

fun main(args: Array<String>) { 
    Foo.x++ 
} 

als Behelfslösung umschreiben.