2016-09-08 14 views
1
class Car { 

let numWheels: Int 

    init(numWheels: Int) { 
     self.numWheels = numWheels 
    }//end constructor 
}//end class 


class FastCar: Car { 
    let topSpeed: Int 
}//end class 

「class 'FastCarに初期化子がありません」というエラーが表示されるのはなぜですか?私は素早い世界への極端な初心者です。私はちょっとした間違いをしたような気がしますが、何度もここを訪れることにしました。Swiftで「クラスに初期化子がありません」というエラーが発生しました

+1

それらがインスタンス化されるとき、クラスは、完全に初期化されなければなりません。 FastCarの初期化子を指定するか、topSpeedの値を指定する必要があります。 numWheelsも初期化する必要があります。 – vacawama

+0

[クラスにイニシャライザがありません] [Swift](http://stackoverflow.com/questions/27797351/class-has-no-initializers-swift) – Cristik

答えて

0

FastCarクラスには 'let'変数があるので、コンストラクタを持つか、値を与える必要があります。

class FastCar: Car { 
    let topSpeed: Int = 4 
} 

または

class FastCar: Car { 
    let topSpeed: Int 
    init(topSpeed: Int) { 
     self.topSpeed = topSpeed 
     super.init(numWheels: 4) // numWheels provided by init? 
    } 
} 
関連する問題