diff --git a/src/ArduinoJson/Variant/JsonVariantConst.hpp b/src/ArduinoJson/Variant/JsonVariantConst.hpp index da0b81c9..a1678fae 100644 --- a/src/ArduinoJson/Variant/JsonVariantConst.hpp +++ b/src/ArduinoJson/Variant/JsonVariantConst.hpp @@ -67,17 +67,16 @@ class JsonVariantConst : public detail::VariantTag, // Casts the value to the specified type. // https://arduinojson.org/v7/api/jsonvariantconst/as/ - template - detail::enable_if_t::value, T> as() const { + template ::value, bool> = true> + T as() const { return Converter::fromJson(*this); } - // Casts the value to the specified type. - // https://arduinojson.org/v7/api/jsonvariantconst/as/ - template - detail::enable_if_t::value, - detail::InvalidConversion> - as() const; + // Invalid conversion. Will not compile. + template ::value, bool> = true> + detail::InvalidConversion as() const; // Returns true if the value is of the specified type. // https://arduinojson.org/v7/api/jsonvariantconst/is/