对象中类的默认参数行为 objectm{ C类(val x:Int,val y:Int=5) } N类(值x:Int,值y:Int=5) 趣味主线(args:Array){ valp=N(3) valq=(M::C)(3) } 为什么在 Valq= 行? < P> Kotlin没有C++这样的命名空间。包或嵌套类通过而不是:进行分配。您只需将此行替换为: object M { class C (val x: Int, val y: Int = 5) } class N(val x: Int, val y: Int = 5) fun main(args: Array<String>) { val p = N(3) val q = (M::C)(3) } fun main(args:Array){ valp=N(3) val q=M.C(3) } 代码> Kotlin没有像C++那样的命名空间。包或嵌套类通过而不是:进行分配。您只需将此行替换为: object M { class C (val x: Int, val y: Int = 5) } class N(val x: Int, val y: Int = 5) fun main(args: Array<String>) { val p = N(3) val q = (M::C)(3) } fun main(args:Array){ valp=N(3) val q=M.C(3) }

对象中类的默认参数行为 objectm{ C类(val x:Int,val y:Int=5) } N类(值x:Int,值y:Int=5) 趣味主线(args:Array){ valp=N(3) valq=(M::C)(3) } 为什么在 Valq= 行? < P> Kotlin没有C++这样的命名空间。包或嵌套类通过而不是:进行分配。您只需将此行替换为: object M { class C (val x: Int, val y: Int = 5) } class N(val x: Int, val y: Int = 5) fun main(args: Array<String>) { val p = N(3) val q = (M::C)(3) } fun main(args:Array){ valp=N(3) val q=M.C(3) } 代码> Kotlin没有像C++那样的命名空间。包或嵌套类通过而不是:进行分配。您只需将此行替换为: object M { class C (val x: Int, val y: Int = 5) } class N(val x: Int, val y: Int = 5) fun main(args: Array<String>) { val p = N(3) val q = (M::C)(3) } fun main(args:Array){ valp=N(3) val q=M.C(3) },kotlin,Kotlin,的目的是在kotlin中使用:,这就是为什么它向您显示语法错误,因为您需要传递两个参数。 因此,在这种情况下,您的语法必须是 valq=(M::C)(3,5) 若您只想要C类的对象,那个么您应该像这样做 fun main(args: Array<String>) { val p = N(3) val q = M.C(3) } :的目的是在kotlin中使用,这就是为什么它显示语法错误,以便执行需要传递两个参数的操作。 因此,在这种情况下,您的语法必须是 valq=(

的目的是在kotlin中使用
,这就是为什么它向您显示语法错误,因为您需要传递两个参数。 因此,在这种情况下,您的语法必须是

valq=(M::C)(3,5)

若您只想要C类的对象,那个么您应该像这样做

fun main(args: Array<String>) {
    val p = N(3)
    val q = M.C(3)
}

的目的是在kotlin中使用,这就是为什么它显示语法错误,以便执行需要传递两个参数的操作。 因此,在这种情况下,您的语法必须是

valq=(M::C)(3,5)

若您只想要C类的对象,那个么您应该像这样做

fun main(args: Array<String>) {
    val p = N(3)
    val q = M.C(3)
}