Mam zdefiniowane wiele konstruktorów, z niektórymi domyślnymi wartościami argumentów we wszystkich z nich. Wygląda na prawidłowe (nie widzę żadnej dwuznaczności), ale Scala (2.8) kompilator narzeka:Nie mogę zdefiniować wartości domyślnych, jeśli zdefiniuję wiele przeciążonych konstruktorów w Scali?
multiple overloaded alternatives of constructor define default arguments
Czy to znaczy, że nie można określić wartości domyślne dla konstruktorów przeładowanych w ogóle?
Pozwól mi ilustrują sytuację (primitivized, oczywiście, ale ilustracyjne):
class A(subject : Double, factor : Int = 1, doItRight : Boolean = true) {
def this (subject : Int, factor : Int = 1, doItRight : Boolean = true) = {
this(subject.toDouble , factor, doItRight)
}
def this (subject : String, factor : Int = 1, doItRight : Boolean = true) = {
this(subject.toDouble , factor, doItRight)
}
def this() = {
this(defaultSubject)
}
}
Czy mógłbyś zamieścić w tym swój kod? –