diff options
Diffstat (limited to 'exercises/046_optionals2.zig')
| -rw-r--r-- | exercises/046_optionals2.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/exercises/046_optionals2.zig b/exercises/046_optionals2.zig index b5fffbb..a158389 100644 --- a/exercises/046_optionals2.zig +++ b/exercises/046_optionals2.zig @@ -22,7 +22,7 @@ const std = @import("std"); const Elephant = struct { letter: u8, - tail: *Elephant = null, // Hmm... tail needs something... + tail: ?*Elephant = null, // Hmm... tail needs something... visited: bool = false, }; @@ -34,6 +34,7 @@ pub fn main() void { // Link the elephants so that each tail "points" to the next. linkElephants(&elephantA, &elephantB); linkElephants(&elephantB, &elephantC); + linkElephants(&elephantC, &elephantA); // `linkElephants` will stop the program if you try and link an // elephant that doesn't exist! Uncomment and see what happens. @@ -66,6 +67,6 @@ fn visitElephants(first_elephant: *Elephant) void { // HINT: We want something similar to what `.?` does, // but instead of ending the program, we want to exit the loop... - e = e.tail ??? + e = e.tail orelse break; } } |
