diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 0b38139..bc44912 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h @@ -434,7 +434,7 @@ parse_number_string(UC const *p, UC const *pend, if (exp_number < 0x1000) { // check for exponent overflow if we have too many digits. UC const digit = UC(*p - UC('0')); - exp_number = 10 * exp_number + digit; + exp_number = 10 * exp_number + static_cast(digit); } ++p; } diff --git a/include/fast_float/parse_number.h b/include/fast_float/parse_number.h index 6e56b95..b764540 100644 --- a/include/fast_float/parse_number.h +++ b/include/fast_float/parse_number.h @@ -364,7 +364,9 @@ from_chars(UC const *first, UC const *last, T &value, int const base) noexcept { static_assert(is_supported_char_type::value, "only char, wchar_t, char16_t and char32_t are supported"); - parse_options_t const options(chars_format::general, UC('.'), base); + parse_options_t const options( + static_cast(chars_format::general), UC('.'), + static_cast(base)); return from_chars_advanced(first, last, value, options); }