diff --git a/4.3/iterate_max.cpp b/4.3/iterate_max.cpp index feeb2dc..4082fd5 100644 --- a/4.3/iterate_max.cpp +++ b/4.3/iterate_max.cpp @@ -12,11 +12,12 @@ struct Node template T max(const std::unique_ptr>& node, T max_value) { - return (node) - ? max(node->next, (node->value > max_value) - ? node->value - : max_value) - : max_value; + if (!node) + return max_value; + + return max(node->next, (node->value > max_value) + ? node->value + : max_value); } int main() @@ -24,7 +25,7 @@ int main() { using NodeT = Node; - auto head = std::make_unique(NodeT{"5", nullptr}); + auto head = std::make_unique(NodeT{"JKFHDJKSFHaaaaaaaaaaJKSFHKJSDJFSDKH", nullptr}); head->next = std::make_unique(NodeT{"12", nullptr}); head->next->next = std::make_unique(NodeT{"35", nullptr}); head->next->next->next = std::make_unique(NodeT{"JKFHDJKSFHKJSDJFSDKH", nullptr});