在Kotlin中调用构造函数的参考
如果我有一个像这样的科林类:
data class Anim (val name : String , var age : Int) { constructor (a:Anim):this(a.name, a.age) { } constructor () :this("Dog") { } }
我想使用构造函数的参考语法,
val a = ::Anim
那么我得到这个错误:
overload resolution ambiguity: public constructor PornModel() defined in com.ripple.PornModel public constructor PornModel(a: PornModel) defined in com.ripple.PornModel public constructor PornModel(name: String, country: String = ...) defined in com.ripple.PornModel val a = ::PornModel::( String, String))
请告诉我参数有多特别
任何帮助深表感谢! 人
正如在错误消息中所述,Kotlin编译器不知道要选择哪个constructor
重载。 你有明确的types,例如:
val twoArgs: (String, Int) -> Anim = ::Anim val oneArg: (Anim) -> Anim = ::Anim val noArg: () -> Anim = ::Anim