我正在尝试在通用 scala 类中重载构造函数,但它没有编译。
这是我的代码:
class V[T](m: Map[T,Double]) {
def this(dt: Seq[Double]) = this(dt.zipWithIndex.map(_.swap).toMap)
}
我得到的错误信息:
ERROR: called constructor's definition must precede calling constructor's definition : line 6
ERROR: overloaded method constructor V with alternatives:
(dt: Seq[Double])V[T] <and> (m: Map[T,Double])V[T] cannot be applied to
(scala.collection.immutable.Map[Int,Double]) : line 6
据我了解scala中的构造函数重载,我认为我遵循正确的语法和调用this
应该先于其他所有内容的限制。
那么我做错了什么,我该如何解决这个问题?