From af650392e79a75f20c8f62364cd4a1cd98559fd7 Mon Sep 17 00:00:00 2001 From: Pranav Srinivas Kumar Date: Wed, 5 Jun 2019 09:13:51 -0400 Subject: [PATCH] Fixes Issue #22 - Tested w/ Visual Studio 2019 --- include/argparse.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/argparse.hpp b/include/argparse.hpp index f338f58..5473109 100644 --- a/include/argparse.hpp +++ b/include/argparse.hpp @@ -129,7 +129,7 @@ public: mValues.emplace_back(mImplicitValue); return start; } - else if (mNumArgs <= std::distance(start, end)) { + else if (mNumArgs <= static_cast(std::distance(start, end))) { end = std::next(start, mNumArgs); if (std::any_of(start, end, Argument::is_optional)) { throw std::runtime_error("optional argument in parameter sequence"); @@ -252,14 +252,16 @@ public: using ValueType = typename CONTAINER::value_type; CONTAINER tResult; if (!mValues.empty()) { - std::transform(std::begin(mValues), std::end(mValues), - std::back_inserter(tResult), std::any_cast); + std::transform(std::begin(mValues), std::end(mValues), std::back_inserter(tResult), [](const auto & value) { + return std::any_cast(value); + }); return tResult; } if (mDefaultValue.has_value()) { const auto& tDefaultValues = std::any_cast(mDefaultValue); - std::transform(std::begin(tDefaultValues), std::end(tDefaultValues), - std::back_inserter(tResult), std::any_cast); + std::transform(std::begin(tDefaultValues), std::end(tDefaultValues), std::back_inserter(tResult), [](const auto & value) { + return std::any_cast(value); + }); return tResult; } throw std::logic_error("No value provided");