diff --git a/src/days/07/Day07.cpp b/src/days/07/Day07.cpp index 0d252f4..f12a529 100644 --- a/src/days/07/Day07.cpp +++ b/src/days/07/Day07.cpp @@ -9,6 +9,7 @@ Result Day07::Task1() { }); delete tree; + return to_string(sum); } @@ -25,6 +26,7 @@ Result Day07::Task2() { uint64_t result = *std::min_element(sizes.begin(), sizes.end()); delete tree; + return to_string(result); } @@ -129,3 +131,8 @@ uint64_t File::getSize() { uint64_t Item::getSize() { return 0; } + +Dir::~Dir(){ + for (Item* item : items) + delete item; +} diff --git a/src/days/07/Day07.h b/src/days/07/Day07.h index 4bb7457..dcce8a0 100644 --- a/src/days/07/Day07.h +++ b/src/days/07/Day07.h @@ -9,6 +9,7 @@ struct Item { string name; Dir* parent; virtual uint64_t getSize(); + virtual ~Item() = default; }; struct Dir : Item { @@ -19,6 +20,7 @@ struct Dir : Item { set getDirs(); set getAllDirsBelowSize(uint64_t maxSize); set getAllDirsAboveSize(uint64_t minSize); + ~Dir(); }; struct File : Item {