2014-12-03 75 views
0

當嘗試過載情況下類的構造函數參數:重載情況下類的構造函數

case class Node(var isVisited: Boolean, adjacentNodes: scala.collection.mutable.MutableList[Node], name: String) { 
    def this(name : String) = this(isVisited , adjacentNodes , name) 
    } 

收到此錯誤:

Overload constructor for Scala's Case Classes?

not found: value isVisited

如果這無法正常工作,在接受的答案解釋

但是,這個工程,雖然不使用案例類:

class Node(var isVisited: Boolean, adjacentNodes: scala.collection.mutable.MutableList[Node], name: String) { 
     def adjacentNodes(): scala.collection.mutable.MutableList[Node] = { adjacentNodes } 
     def name(): String = { name } 
     } 

     object Node { 
     def apply(name: String): Node = new Node(false, scala.collection.mutable.MutableList[Node](), name) 
     } 
+0

@的Gabor Bakos的問題更新,謝謝 – 2014-12-03 22:37:48

回答

3

isVisitedadjacentNodes對於重載構造函數不存在。它看起來像你打算使用false和一個空列表,如果沒有提供他們:

case class Node(var isVisited: Boolean, adjacentNodes: scala.collection.mutable.MutableList[Node], name: String) { 
    def this(name : String) = this(false, scala.collection.mutable.MutableList[Node](), name) 
} 
相關問題