
Maryam Siddiqui
504 PointsWhy am I getting this error: super.init isn't called on all paths before returning from initializer
I am confused, the code I have written should be correct.
class Point {
var x: Int
var y: Int
init(x: Int, y: Int) {
self.x = x
self.y = y
}
}
class Machine: Point {
var location: Point
init() {
self.location = Point(x: 0, y: 0)
}
func move(_ direction: String) {
print("Do nothing! I am a machine!")
}
}
// Enter your code below
class Robot: Machine {
override func move(_ direction: String) {
switch direction {
case "Up": location.y += 1
case "Down": location.y -= 1
case "Left": location.x -= 1
case "Right": location.x += 1
default: break
}
}
}
1 Answer

KRIS NIKOLAISEN
54,524 PointsYou modified the existing code. Change this:
class Machine: Point {
back to this:
class Machine {
The new code you provided below the comment line will pass.