diff --git a/src/core/util/SumTree.hpp b/src/core/util/SumTree.hpp index d5df54da..2a507585 100644 --- a/src/core/util/SumTree.hpp +++ b/src/core/util/SumTree.hpp @@ -108,6 +108,7 @@ private: //! Tree depth: nodes at level m_depth are leaf nodes, others are inner nodes unsigned m_depth; public: + T notfound; //! Returned if no element was found. SumTree() : m_root(new Bucket), m_depth(0) {} ~SumTree() { delete m_root; } //! Adds a copy of a new element to the tree. The copy is created internally. @@ -244,7 +245,7 @@ T SumTree::remove(typename T::size_type pos, Bucket *node, typena // this should never happen assert(0); - return T(); + return notfound; } template @@ -282,7 +283,7 @@ T& SumTree::get(typename T::size_type pos, Bucket *node, typename // this should never happen assert(0); - return *(new T); + return notfound; } } // namespace