diff --git a/modules/09_cpp11/src/smart_pointers.cpp b/modules/09_cpp11/src/smart_pointers.cpp index 072134a..7e9df6a 100644 --- a/modules/09_cpp11/src/smart_pointers.cpp +++ b/modules/09_cpp11/src/smart_pointers.cpp @@ -3,18 +3,19 @@ namespace cpp11 { auto make_counter(int start) -> std::unique_ptr { - (void)start; - return nullptr; + return std::make_unique(start); } auto shared_total(const std::vector>& values) -> int { - (void)values; - return 0; + int total = 0; + for (const auto& value : values) { + total += *value; + } + return total; } auto clone_unique(const std::unique_ptr& value) -> std::unique_ptr { - (void)value; - return nullptr; + return std::make_unique(*value); } } // namespace cpp11