--- src/cxxopts.hpp.orig 2017-08-10 06:29:55.000000000 -0400 +++ src/cxxopts.hpp 2017-08-14 15:04:04.205481497 -0400 @@ -291,6 +291,8 @@ return m_message.c_str(); } + ~OptionException() throw() { } + private: std::string m_message; }; @@ -471,11 +473,15 @@ standard_value() : m_result(std::make_shared()) , m_store(m_result.get()) + , m_default(false) + , m_implicit(false) { } standard_value(T* t) : m_store(t) + , m_default(false) + , m_implicit(false) { } @@ -557,9 +563,9 @@ protected: std::shared_ptr m_result; T* m_store; - bool m_default = false; + bool m_default; std::string m_default_value; - bool m_implicit = false; + bool m_implicit; std::string m_implicit_value; }; } @@ -743,7 +749,7 @@ inline std::string - help(const std::vector& groups = {""}) const; + help(const std::vector& groups = std::vector({""})) const; inline const std::vector @@ -1304,7 +1310,7 @@ std::shared_ptr details ) { - auto in = m_options.emplace(option, details); + auto in = m_options.insert(make_pair(option, std::move(details))); if (!in.second) { .