diff --git a/include/cxxopts.hpp b/include/cxxopts.hpp index bb95ef3..37f2325 100644 --- a/include/cxxopts.hpp +++ b/include/cxxopts.hpp @@ -544,22 +544,22 @@ namespace cxxopts } } - template - void - checked_negate(R& r, T&& t, const std::string&, std::true_type) - { - // if we got to here, then `t` is a positive number that fits into - // `R`. So to avoid MSVC C4146, we first cast it to `R`. - // See https://github.com/jarro2783/cxxopts/issues/62 for more details. - r = static_cast(-static_cast(t-1)-1); - } + template + void + checked_negate(R& r, T&& t, const std::string&, std::true_type) + { + // if we got to here, then `t` is a positive number that fits into + // `R`. So to avoid MSVC C4146, we first cast it to `R`. + // See https://github.com/jarro2783/cxxopts/issues/62 for more details. + r = static_cast(-static_cast(t-1)-1); + } - template - void - checked_negate(R&, T&&, const std::string& text, std::false_type) - { - throw_or_mimic(text); - } + template + void + checked_negate(R&, T&&, const std::string& text, std::false_type) + { + throw_or_mimic(text); + } template void @@ -623,7 +623,7 @@ namespace cxxopts if (negative) { - checked_negate(value, result, text, std::integral_constant()); + checked_negate(value, result, text, std::integral_constant()); } else {