Overload resolution ambiguity. All these functions match
问题 I tried to check, lateinit variable is initialized or not in a function using reference operator. The function name and variable name is same in this case. So that Kotlin throws Overload resolution ambiguity. All these functions match exception. Actually what's wrong in this code? class ABC class MyClass { private lateinit var abc: ABC fun abc() { if(!::abc.isInitialized){ println("Hello") } } } 回答1: It's a simple name clash. The compiler does not know whether you're referring to the method