Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

about 2 years ago

Language

C++

Compiler

gcc 4.9.4

Options
Warnings
Boost 1.75.0
C++14(GNU)
no pedantic

Author

anonymous

about 2 years ago

ArduinoJson.h

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.75.0-gcc-4.9.4/include -std=gnu++14
In file included from prog.cc:8:0:
ArduinoJson.h:10:4: error: #error ArduinoJson requires C++11 or newer. Configure your compiler for C++11 or downgrade ArduinoJson to 6.20.
 #  error ArduinoJson requires C++11 or newer. Configure your compiler for C++11 or downgrade ArduinoJson to 6.20.
    ^
In file included from prog.cc:8:0:
ArduinoJson.h:340:2: error: expected unqualified-id before '&&' token
 T&& declval();
  ^
In file included from prog.cc:8:0:
ArduinoJson.h:692:53: error: 'declval' was not declared in this scope
                 typename enable_if<is_same<decltype(declval<const T>().c_str()),
                                                     ^
ArduinoJson.h:692:79: error: a function call cannot appear in a constant-expression
                 typename enable_if<is_same<decltype(declval<const T>().c_str()),
                                                                               ^
ArduinoJson.h:693:55: error: template argument 1 is invalid
                                            const char*>::value>::type>
                                                       ^
ArduinoJson.h:693:63: error: template argument 1 is invalid
                                            const char*>::value>::type>
                                                               ^
ArduinoJson.h:693:70: error: template argument 2 is invalid
                                            const char*>::value>::type>
                                                                      ^
ArduinoJson.h:694:5: error: expected '::' before ':' token
     : true_type {};
     ^
ArduinoJson.h:694:5: error: expected identifier before ':' token
ArduinoJson.h:694:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:694:5: error: expected '{' before ':' token
ArduinoJson.h:694:5: error: expected unqualified-id before ':' token
ArduinoJson.h:699:53: error: 'declval' was not declared in this scope
                 typename enable_if<is_same<decltype(declval<const T>().data()),
                                                     ^
ArduinoJson.h:699:78: error: a function call cannot appear in a constant-expression
                 typename enable_if<is_same<decltype(declval<const T>().data()),
                                                                              ^
ArduinoJson.h:700:55: error: template argument 1 is invalid
                                            const char*>::value>::type>
                                                       ^
ArduinoJson.h:700:63: error: template argument 1 is invalid
                                            const char*>::value>::type>
                                                               ^
ArduinoJson.h:700:70: error: template argument 2 is invalid
                                            const char*>::value>::type>
                                                                      ^
ArduinoJson.h:701:5: error: expected '::' before ':' token
     : true_type {};
     ^
ArduinoJson.h:701:5: error: expected identifier before ':' token
ArduinoJson.h:701:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:701:5: error: expected '{' before ':' token
ArduinoJson.h:701:5: error: expected unqualified-id before ':' token
ArduinoJson.h:707:29: error: 'declval' was not declared in this scope
            is_same<decltype(declval<const T>().length()), size_t>::value>::type>
                             ^
ArduinoJson.h:707:56: error: a function call cannot appear in a constant-expression
            is_same<decltype(declval<const T>().length()), size_t>::value>::type>
                                                        ^
ArduinoJson.h:707:65: error: template argument 1 is invalid
            is_same<decltype(declval<const T>().length()), size_t>::value>::type>
                                                                 ^
ArduinoJson.h:707:73: error: template argument 1 is invalid
            is_same<decltype(declval<const T>().length()), size_t>::value>::type>
                                                                         ^
ArduinoJson.h:707:80: error: template argument 2 is invalid
            is_same<decltype(declval<const T>().length()), size_t>::value>::type>
                                                                                ^
ArduinoJson.h:708:5: error: expected '::' before ':' token
     : true_type {};
     ^
ArduinoJson.h:708:5: error: expected identifier before ':' token
ArduinoJson.h:708:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:708:5: error: expected '{' before ':' token
ArduinoJson.h:708:5: error: expected unqualified-id before ':' token
ArduinoJson.h:714:29: error: 'declval' was not declared in this scope
            is_same<decltype(declval<const T>().size()), size_t>::value>::type>
                             ^
ArduinoJson.h:714:54: error: a function call cannot appear in a constant-expression
            is_same<decltype(declval<const T>().size()), size_t>::value>::type>
                                                      ^
ArduinoJson.h:714:63: error: template argument 1 is invalid
            is_same<decltype(declval<const T>().size()), size_t>::value>::type>
                                                               ^
ArduinoJson.h:714:71: error: template argument 1 is invalid
            is_same<decltype(declval<const T>().size()), size_t>::value>::type>
                                                                       ^
ArduinoJson.h:714:78: error: template argument 2 is invalid
            is_same<decltype(declval<const T>().size()), size_t>::value>::type>
                                                                              ^
ArduinoJson.h:715:5: error: expected '::' before ':' token
     : true_type {};
     ^
ArduinoJson.h:715:5: error: expected identifier before ':' token
ArduinoJson.h:715:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:715:5: error: expected '{' before ':' token
ArduinoJson.h:715:5: error: expected unqualified-id before ':' token
In file included from prog.cc:8:0:
ArduinoJson.h: In function 'TFloat ArduinoJson::V6211HB::detail::make_float(TFloat, TExponent)':
ArduinoJson.h:1736:9: error: expected nested-name-specifier before 'traits'
   using traits = FloatTraits<TFloat>;
         ^
ArduinoJson.h:1737:8: error: 'powersOfTen' does not name a type
   auto powersOfTen = e > 0 ? traits::positiveBinaryPowersOfTen()
        ^
ArduinoJson.h:1743:12: error: 'powersOfTen' was not declared in this scope
       m *= powersOfTen[index];
            ^
ArduinoJson.h: At global scope:
ArduinoJson.h:2638:64: error: '>>' should be '> >' within a nested template argument list
                                   MemberProxy<TDerived, TString>>::type
                                                                ^
ArduinoJson.h:2642:63: error: '>>' should be '> >' within a nested template argument list
                                   MemberProxy<TDerived, TChar*>>::type
                                                               ^
ArduinoJson.h:2676:66: error: '>>' should be '> >' within a nested template argument list
 class ElementProxy : public VariantRefBase<ElementProxy<TUpstream>>,
                                                                  ^
ArduinoJson.h:2677:68: error: '>>' should be '> >' within a nested template argument list
                      public VariantOperators<ElementProxy<TUpstream>> {
                                                                    ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonVariant>::checkJson(ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:2745:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:2746:14: error: 'data' was not declared in this scope
     return !!data;
              ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonVariantConst>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:2761:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:2762:14: error: 'data' was not declared in this scope
     return !!data;
              ^
ArduinoJson.h: In static member function 'static ArduinoJson::V6211HB::JsonArrayConst ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonArrayConst>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:2952:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:2953:12: error: 'data' was not declared in this scope
     return data ? data->asArray() : 0;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonArrayConst>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:2956:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:2957:12: error: 'data' was not declared in this scope
     return data && data->isArray();
            ^
ArduinoJson.h: In static member function 'static ArduinoJson::V6211HB::JsonArray ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonArray>::fromJson(ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:3063:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3064:10: error: 'pool' does not name a type
     auto pool = getPool(src);
          ^
ArduinoJson.h:3065:22: error: 'pool' was not declared in this scope
     return JsonArray(pool, data != 0 ? data->asArray() : 0);
                      ^
ArduinoJson.h:3065:28: error: 'data' was not declared in this scope
     return JsonArray(pool, data != 0 ? data->asArray() : 0);
                            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonArray>::checkJson(ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:3073:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3074:12: error: 'data' was not declared in this scope
     return data && data->isArray();
            ^
ArduinoJson.h: In static member function 'static ArduinoJson::V6211HB::JsonObjectConst ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonObjectConst>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:3284:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3285:12: error: 'data' was not declared in this scope
     return data != 0 ? data->asObject() : 0;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonObjectConst>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:3288:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3289:12: error: 'data' was not declared in this scope
     return data && data->isObject();
            ^
ArduinoJson.h: At global scope:
ArduinoJson.h:3296:62: error: '>>' should be '> >' within a nested template argument list
     : public VariantRefBase<MemberProxy<TUpstream, TStringRef>>,
                                                              ^
ArduinoJson.h:3297:64: error: '>>' should be '> >' within a nested template argument list
       public VariantOperators<MemberProxy<TUpstream, TStringRef>> {
                                                                ^
ArduinoJson.h:3394:73: error: '>>' should be '> >' within a nested template argument list
                                  detail::MemberProxy<JsonObject, TString>>::type
                                                                         ^
ArduinoJson.h:3401:72: error: '>>' should be '> >' within a nested template argument list
                                  detail::MemberProxy<JsonObject, TChar*>>::type
                                                                        ^
ArduinoJson.h: In static member function 'static ArduinoJson::V6211HB::JsonObject ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonObject>::fromJson(ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:3473:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3474:10: error: 'pool' does not name a type
     auto pool = getPool(src);
          ^
ArduinoJson.h:3475:23: error: 'pool' was not declared in this scope
     return JsonObject(pool, data != 0 ? data->asObject() : 0);
                       ^
ArduinoJson.h:3475:29: error: 'data' was not declared in this scope
     return JsonObject(pool, data != 0 ? data->asObject() : 0);
                             ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonObject>::checkJson(ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:3483:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:3484:12: error: 'data' was not declared in this scope
     return data && data->isObject();
            ^
ArduinoJson.h: At global scope:
ArduinoJson.h:3577:49: error: '>>' should be '> >' within a nested template argument list
       detail::MemberProxy<JsonDocument&, TString>>::type
                                                 ^
ArduinoJson.h:3584:48: error: '>>' should be '> >' within a nested template argument list
       detail::MemberProxy<JsonDocument&, TChar*>>::type
                                                ^
ArduinoJson.h:3700:38: error: expected ',' or '...' before '&&' token
   BasicJsonDocument(BasicJsonDocument&& src) : AllocatorOwner<TAllocator>(src) {
                                      ^
ArduinoJson.h:3700:44: error: invalid constructor; you probably meant 'ArduinoJson::V6211HB::BasicJsonDocument<TAllocator> (const ArduinoJson::V6211HB::BasicJsonDocument<TAllocator>&)'
   BasicJsonDocument(BasicJsonDocument&& src) : AllocatorOwner<TAllocator>(src) {
                                            ^
ArduinoJson.h:3729:49: error: expected ',' or '...' before '&&' token
   BasicJsonDocument& operator=(BasicJsonDocument&& src) {
                                                 ^
ArduinoJson.h: In member function 'ArduinoJson::V6211HB::BasicJsonDocument<TAllocator>& ArduinoJson::V6211HB::BasicJsonDocument<TAllocator>::operator=(ArduinoJson::V6211HB::BasicJsonDocument<TAllocator>)':
ArduinoJson.h:3730:20: error: 'src' was not declared in this scope
     moveAssignFrom(src);
                    ^
ArduinoJson.h: At global scope:
ArduinoJson.h:4137:57: error: '>>' should be '> >' within a nested template argument list
                           MemberProxy<TDerived, TString*>>::type
                                                         ^
ArduinoJson.h:4144:56: error: '>>' should be '> >' within a nested template argument list
                           MemberProxy<TDerived, TString>>::type
                                                        ^
ArduinoJson.h:4421:1: error: expected unqualified-id before 'using'
 using void_t = void;
 ^
ArduinoJson.h:4426:8: error: 'void_t' was not declared in this scope
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
        ^
ArduinoJson.h:4426:28: error: '.' cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                            ^
ArduinoJson.h:4426:41: error: a function call cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                                         ^
ArduinoJson.h:4426:42: error: a function call cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                                          ^
ArduinoJson.h:4426:58: error: '.' cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                                                          ^
ArduinoJson.h:4426:67: error: a function call cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                                                                   ^
ArduinoJson.h:4426:68: error: a function call cannot appear in a constant-expression
     T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
                                                                    ^
ArduinoJson.h:4427:7: error: wrong number of template arguments (3, should be 2)
     : true_type {};
       ^
ArduinoJson.h:4423:8: error: provided for 'template<class T, class> struct ArduinoJson::V6211HB::detail::is_std_string'
 struct is_std_string : false_type {};
        ^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<((ArduinoJson::V6211HB::detail::is_integral<T>::value && (! ArduinoJson::V6211HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6211HB::detail::is_same<char, T>::value))>::type>::toJson(T, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4685:10: error: 'data' does not name a type
     auto data = getData(dst);
          ^
In file included from prog.cc:8:0:
ArduinoJson.h:4686:5: error: there are no arguments to 'static_assert' that depend on a template parameter, so a declaration of 'static_assert' must be available [-fpermissive]
     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T);
     ^
ArduinoJson.h:4686:5: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from prog.cc:8:0:
ArduinoJson.h:4687:9: error: 'data' was not declared in this scope
     if (data)
         ^
In file included from prog.cc:8:0:
ArduinoJson.h: In static member function 'static T ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<((ArduinoJson::V6211HB::detail::is_integral<T>::value && (! ArduinoJson::V6211HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6211HB::detail::is_same<char, T>::value))>::type>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4691:5: error: there are no arguments to 'static_assert' that depend on a template parameter, so a declaration of 'static_assert' must be available [-fpermissive]
     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T);
     ^
In file included from prog.cc:8:0:
ArduinoJson.h:4692:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4693:12: error: 'data' was not declared in this scope
     return data ? data->template asIntegral<T>() : T();
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<((ArduinoJson::V6211HB::detail::is_integral<T>::value && (! ArduinoJson::V6211HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6211HB::detail::is_same<char, T>::value))>::type>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4696:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4697:12: error: 'data' was not declared in this scope
     return data && data->template isInteger<T>();
            ^
ArduinoJson.h: In static member function 'static T ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::is_enum<T>::value>::type>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4707:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4708:12: error: 'data' was not declared in this scope
     return data ? static_cast<T>(data->template asIntegral<int>()) : T();
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::is_enum<T>::value>::type>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4711:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4712:12: error: 'data' was not declared in this scope
     return data && data->template isInteger<int>();
            ^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6211HB::Converter<bool>::toJson(bool, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4718:10: error: 'data' does not name a type
     auto data = getData(dst);
          ^
ArduinoJson.h:4719:9: error: 'data' was not declared in this scope
     if (data)
         ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<bool>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4723:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4724:12: error: 'data' was not declared in this scope
     return data ? data->asBoolean() : false;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<bool>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4727:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4728:12: error: 'data' was not declared in this scope
     return data && data->isBoolean();
            ^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::is_floating_point<T>::value>::type>::toJson(T, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4736:10: error: 'data' does not name a type
     auto data = getData(dst);
          ^
ArduinoJson.h:4737:9: error: 'data' was not declared in this scope
     if (data)
         ^
ArduinoJson.h: In static member function 'static T ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::is_floating_point<T>::value>::type>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4741:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4742:12: error: 'data' was not declared in this scope
     return data ? data->template asFloat<T>() : 0;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::is_floating_point<T>::value>::type>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4745:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4746:12: error: 'data' was not declared in this scope
     return data && data->isFloat();
            ^
ArduinoJson.h: In static member function 'static const char* ArduinoJson::V6211HB::Converter<const char*>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4755:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4756:12: error: 'data' was not declared in this scope
     return data ? data->asString().c_str() : 0;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<const char*>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4759:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4760:12: error: 'data' was not declared in this scope
     return data && data->isString();
            ^
ArduinoJson.h: In static member function 'static ArduinoJson::V6211HB::JsonString ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonString>::fromJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4769:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4770:12: error: 'data' was not declared in this scope
     return data ? data->asString() : 0;
            ^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::JsonString>::checkJson(ArduinoJson::V6211HB::JsonVariantConst)':
ArduinoJson.h:4773:10: error: 'data' does not name a type
     auto data = getData(src);
          ^
ArduinoJson.h:4774:12: error: 'data' was not declared in this scope
     return data && data->isString();
            ^
ArduinoJson.h: In function 'typename ArduinoJson::V6211HB::detail::enable_if<ArduinoJson::V6211HB::detail::IsString<TString>::value, bool>::type ArduinoJson::V6211HB::convertToJson(const T&, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4781:8: error: 'data' does not name a type
   auto data = VariantAttorney::getData(dst);
        ^
ArduinoJson.h:4782:8: error: 'pool' does not name a type
   auto pool = VariantAttorney::getPool(dst);
        ^
ArduinoJson.h:4783:27: error: 'data' was not declared in this scope
   return variantSetString(data, adaptString(src), pool);
                           ^
ArduinoJson.h:4783:51: error: 'pool' was not declared in this scope
   return variantSetString(data, adaptString(src), pool);
                                                   ^
ArduinoJson.h: At global scope:
ArduinoJson.h:4786:45: error: '>>' should be '> >' within a nested template argument list
 struct Converter<SerializedValue<const char*>>
                                             ^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::SerializedValue<const char*> >::toJson(ArduinoJson::V6211HB::SerializedValue<const char*>, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4789:10: error: 'data' does not name a type
     auto data = getData(dst);
          ^
ArduinoJson.h:4790:9: error: 'data' was not declared in this scope
     if (data)
         ^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6211HB::Converter<ArduinoJson::V6211HB::SerializedValue<T>, typename ArduinoJson::V6211HB::detail::enable_if<(! ArduinoJson::V6211HB::detail::is_same<const char*, T>::value)>::type>::toJson(ArduinoJson::V6211HB::SerializedValue<T>, ArduinoJson::V6211HB::JsonVariant)':
ArduinoJson.h:4800:10: error: 'data' does not name a type
     auto data = getData(dst);
          ^
ArduinoJson.h:4801:10: error: 'pool' does not name a type
     auto pool = getPool(dst);
          ^
ArduinoJson.h:4802:9: error: 'data' was not declared in this scope
     if (data)
         ^
ArduinoJson.h:4803:32: error: 'pool' was not declared in this scope
       data->storeOwnedRaw(src, pool);
                                ^
ArduinoJson.h: At global scope:
ArduinoJson.h:4807:27: error: 'nullptr' was not declared in this scope
 struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
                           ^
ArduinoJson.h:4807:34: error: a function call cannot appear in a constant-expression
 struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
                                  ^
ArduinoJson.h:4807:35: error: template argument 1 is invalid
 struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
                                   ^
ArduinoJson.h:4968:26: error: 'nullptr' was not declared in this scope
 struct Comparer<decltype(nullptr), void> : NullComparer {
                          ^
ArduinoJson.h:4968:33: error: a function call cannot appear in a constant-expression
 struct Comparer<decltype(nullptr), void> : NullComparer {
                                 ^
ArduinoJson.h:4968:40: error: template argument 1 is invalid
 struct Comparer<decltype(nullptr), void> : NullComparer {
                                        ^
ArduinoJson.h:5476:2: error: expected unqualified-id before '&&' token
 T&& forward(typename remove_reference<T>::type& t) noexcept {
  ^
ArduinoJson.h:5658:66: error: expected ',' or '...' before '&&' token
 Reader<typename remove_reference<TInput>::type> makeReader(TInput&& input) {
                                                                  ^
ArduinoJson.h: In function 'ArduinoJson::V6211HB::detail::Reader<typename ArduinoJson::V6211HB::detail::remove_reference<T>::type> ArduinoJson::V6211HB::detail::makeReader(TInput)':
ArduinoJson.h:5660:7: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
       detail::forward<TInput>(input)};
       ^
ArduinoJson.h:5660:31: error: 'input' was not declared in this scope
       detail::forward<TInput>(input)};
                               ^
ArduinoJson.h:5659:57: error: expected primary-expression before '{' token
   return Reader<typename remove_reference<TInput>::type>{
                                                         ^
ArduinoJson.h:5659:57: error: expected ';' before '{' token
ArduinoJson.h:5660:7: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
       detail::forward<TInput>(input)};
       ^
ArduinoJson.h:5660:29: error: expected primary-expression before '>' token
       detail::forward<TInput>(input)};
                             ^
ArduinoJson.h: At global scope:
ArduinoJson.h:5753:9: error: expected nested-name-specifier before 'type'
   using type = void;
         ^
ArduinoJson.h:5757:9: error: expected nested-name-specifier before 'type'
   using type = T;
         ^
ArduinoJson.h:5771:60: error: expected ',' or '...' before '&&' token
 DeserializationError deserialize(JsonDocument& doc, TStream&& input,
                                                            ^
ArduinoJson.h:5772:46: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
                                  Args... args) {
                                              ^
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::detail::deserialize(ArduinoJson::V6211HB::JsonDocument&, TStream)':
ArduinoJson.h:5773:8: error: 'reader' does not name a type
   auto reader = makeReader(detail::forward<TStream>(input));
        ^
ArduinoJson.h:5774:8: error: 'data' does not name a type
   auto data = VariantAttorney::getData(doc);
        ^
ArduinoJson.h:5775:8: error: 'pool' does not name a type
   auto pool = VariantAttorney::getPool(doc);
        ^
ArduinoJson.h:5776:8: error: 'options' does not name a type
   auto options = makeDeserializationOptions(args...);
        ^
ArduinoJson.h:5778:42: error: 'pool' was not declared in this scope
   return makeDeserializer<TDeserializer>(pool, reader,
                                          ^
ArduinoJson.h:5778:48: error: 'reader' was not declared in this scope
   return makeDeserializer<TDeserializer>(pool, reader,
                                                ^
ArduinoJson.h:5779:60: error: 'input' was not declared in this scope
                                          makeStringStorage(input, pool))
                                                            ^
ArduinoJson.h:5780:15: error: 'data' was not declared in this scope
       .parse(*data, options.filter, options.nestingLimit);
               ^
ArduinoJson.h:5780:21: error: 'options' was not declared in this scope
       .parse(*data, options.filter, options.nestingLimit);
                     ^
ArduinoJson.h: At global scope:
ArduinoJson.h:5786:62: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
                                  Size inputSize, Args... args) {
                                                              ^
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::detail::deserialize(ArduinoJson::V6211HB::JsonDocument&, TChar*, Size, Args ...)':
ArduinoJson.h:5787:8: error: 'reader' does not name a type
   auto reader = makeReader(input, size_t(inputSize));
        ^
ArduinoJson.h:5788:8: error: 'data' does not name a type
   auto data = VariantAttorney::getData(doc);
        ^
ArduinoJson.h:5789:8: error: 'pool' does not name a type
   auto pool = VariantAttorney::getPool(doc);
        ^
ArduinoJson.h:5790:8: error: 'options' does not name a type
   auto options = makeDeserializationOptions(args...);
        ^
ArduinoJson.h:5792:42: error: 'pool' was not declared in this scope
   return makeDeserializer<TDeserializer>(pool, reader,
                                          ^
ArduinoJson.h:5792:48: error: 'reader' was not declared in this scope
   return makeDeserializer<TDeserializer>(pool, reader,
                                                ^
ArduinoJson.h:5794:15: error: 'data' was not declared in this scope
       .parse(*data, options.filter, options.nestingLimit);
               ^
ArduinoJson.h:5794:21: error: 'options' was not declared in this scope
       .parse(*data, options.filter, options.nestingLimit);
                     ^
ArduinoJson.h: At global scope:
ArduinoJson.h:6397:61: error: expected ',' or '...' before '&&' token
 DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
                                                             ^
ArduinoJson.h:6397:71: error: parameter packs not expanded with '...':
 DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
                                                                       ^
ArduinoJson.h:6397:71: note:         'Args'
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeJson(ArduinoJson::V6211HB::JsonDocument&, <type error>)':
ArduinoJson.h:6399:45: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
   return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
                                             ^
ArduinoJson.h:6399:65: error: expected primary-expression before '>' token
   return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
                                                                 ^
ArduinoJson.h:6399:67: error: 'args' was not declared in this scope
   return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
                                                                   ^
ArduinoJson.h: At global scope:
ArduinoJson.h:6403:42: error: expected ',' or '...' before '&&' token
                                      Args&&... args) {
                                          ^
ArduinoJson.h:6403:52: error: parameter packs not expanded with '...':
                                      Args&&... args) {
                                                    ^
ArduinoJson.h:6403:52: note:         'Args'
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeJson(ArduinoJson::V6211HB::JsonDocument&, TChar*, <type error>)':
ArduinoJson.h:6406:40: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
                                        detail::forward<Args>(args)...);
                                        ^
ArduinoJson.h:6406:60: error: expected primary-expression before '>' token
                                        detail::forward<Args>(args)...);
                                                            ^
ArduinoJson.h:6406:62: error: 'args' was not declared in this scope
                                        detail::forward<Args>(args)...);
                                                              ^
ArduinoJson.h: At global scope:
ArduinoJson.h:6937:64: error: expected ',' or '...' before '&&' token
 DeserializationError deserializeMsgPack(JsonDocument& doc, Args&&... args) {
                                                                ^
ArduinoJson.h:6937:74: error: parameter packs not expanded with '...':
 DeserializationError deserializeMsgPack(JsonDocument& doc, Args&&... args) {
                                                                          ^
ArduinoJson.h:6937:74: note:         'Args'
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeMsgPack(ArduinoJson::V6211HB::JsonDocument&, <type error>)':
ArduinoJson.h:6939:48: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
   return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
                                                ^
ArduinoJson.h:6939:68: error: expected primary-expression before '>' token
   return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
                                                                    ^
ArduinoJson.h:6939:70: error: 'args' was not declared in this scope
   return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
                                                                      ^
ArduinoJson.h: At global scope:
ArduinoJson.h:6943:45: error: expected ',' or '...' before '&&' token
                                         Args&&... args) {
                                             ^
ArduinoJson.h:6943:55: error: parameter packs not expanded with '...':
                                         Args&&... args) {
                                                       ^
ArduinoJson.h:6943:55: note:         'Args'
ArduinoJson.h: In function 'ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeMsgPack(ArduinoJson::V6211HB::JsonDocument&, TChar*, <type error>)':
ArduinoJson.h:6946:43: error: 'forward' is not a member of 'ArduinoJson::V6211HB::detail'
                                           detail::forward<Args>(args)...);
                                           ^
ArduinoJson.h:6946:63: error: expected primary-expression before '>' token
                                           detail::forward<Args>(args)...);
                                                               ^
ArduinoJson.h:6946:65: error: 'args' was not declared in this scope
                                           detail::forward<Args>(args)...);
                                                                 ^
prog.cc: In function 'int main()':
prog.cc:35:57: error: no matching function for call to 'deserializeJson(ArduinoJson::V6211HB::StaticJsonDocument<300ul>&, char [63])'
   DeserializationError error = deserializeJson(doc, json);
                                                         ^
prog.cc:35:57: note: candidates are:
In file included from prog.cc:8:0:
ArduinoJson.h:6397:22: note: template<class ... Args> ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeJson(ArduinoJson::V6211HB::JsonDocument&, <type error>)
 DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
                      ^
ArduinoJson.h:6397:22: note:   template argument deduction/substitution failed:
ArduinoJson.h:6402:22: note: template<class TChar, class ... Args> ArduinoJson::V6211HB::DeserializationError ArduinoJson::V6211HB::deserializeJson(ArduinoJson::V6211HB::JsonDocument&, TChar*, <type error>)
 DeserializationError deserializeJson(JsonDocument& doc, TChar* input,
                      ^
ArduinoJson.h:6402:22: note:   template argument deduction/substitution failed:
prog.cc:35:57: note:   candidate expects 3 arguments, 2 provided
   DeserializationError error = deserializeJson(doc, json);
                                                         ^
In file included from prog.cc:8:0:
ArduinoJson.h: In instantiation of 'static T ArduinoJson::V6211HB::Converter<T, typename ArduinoJson::V6211HB::detail::enable_if<((ArduinoJson::V6211HB::detail::is_integral<T>::value && (! ArduinoJson::V6211HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6211HB::detail::is_same<char, T>::value))>::type>::fromJson(ArduinoJson::V6211HB::JsonVariantConst) [with T = long int]':
ArduinoJson.h:2534:52:   required from 'typename ArduinoJson::V6211HB::detail::enable_if<(! ArduinoJson::V6211HB::detail::ConverterNeedsWriteableRef<T>::value), T>::type ArduinoJson::V6211HB::detail::VariantRefBase<TDerived>::as() const [with T = long int; TDerived = ArduinoJson::V6211HB::detail::MemberProxy<ArduinoJson::V6211HB::JsonDocument&, const char*>; typename ArduinoJson::V6211HB::detail::enable_if<(! ArduinoJson::V6211HB::detail::ConverterNeedsWriteableRef<T>::value), T>::type = long int]'
ArduinoJson.h:2543:14:   required from 'ArduinoJson::V6211HB::detail::VariantRefBase<TDerived>::operator T() const [with T = long int; TDerived = ArduinoJson::V6211HB::detail::MemberProxy<ArduinoJson::V6211HB::JsonDocument&, const char*>]'
prog.cc:48:25:   required from here
ArduinoJson.h:4691:5: error: 'static_assert' was not declared in this scope
     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T);
     ^
In file included from prog.cc:8:0:
ArduinoJson.h: In instantiation of 'size_t ArduinoJson::V6211HB::detail::Writer<TDestination, Enable>::write(const uint8_t*, size_t) [with TDestination = std::basic_string<char>; Enable = void; size_t = long unsigned int; uint8_t = unsigned char]':
ArduinoJson.h:4238:12:   required from 'void ArduinoJson::V6211HB::detail::CountingDecorator<TWriter>::write(const uint8_t*, size_t) [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; uint8_t = unsigned char; size_t = long unsigned int]'
ArduinoJson.h:4349:5:   required from 'void ArduinoJson::V6211HB::detail::TextFormatter<TWriter>::writeRaw(const char*) [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4622:5:   required from 'size_t ArduinoJson::V6211HB::detail::JsonSerializer<TWriter>::visitNull() [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:2113:30:   required from 'typename TVisitor::result_type ArduinoJson::V6211HB::detail::variantAccept(const ArduinoJson::V6211HB::detail::VariantData*, TVisitor&) [with TVisitor = ArduinoJson::V6211HB::detail::JsonSerializer<ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:4530:68:   required from 'size_t ArduinoJson::V6211HB::detail::doSerialize(ArduinoJson::V6211HB::JsonVariantConst, TWriter) [with TSerializer = ArduinoJson::V6211HB::detail::JsonSerializer; TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:4536:49:   required from 'size_t ArduinoJson::V6211HB::detail::serialize(ArduinoJson::V6211HB::JsonVariantConst, TDestination&) [with TSerializer = ArduinoJson::V6211HB::detail::JsonSerializer; TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4643:55:   required from 'size_t ArduinoJson::V6211HB::serializeJson(ArduinoJson::V6211HB::JsonVariantConst, TDestination&) [with TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4889:27:   required from here
ArduinoJson.h:4391:29: error: 'class std::basic_string<char>' has no member named 'write'
     return _dest->write(s, n);
                             ^
ArduinoJson.h: In instantiation of 'size_t ArduinoJson::V6211HB::detail::Writer<TDestination, Enable>::write(uint8_t) [with TDestination = std::basic_string<char>; Enable = void; size_t = long unsigned int; uint8_t = unsigned char]':
ArduinoJson.h:4235:12:   required from 'void ArduinoJson::V6211HB::detail::CountingDecorator<TWriter>::write(uint8_t) [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; uint8_t = unsigned char]'
ArduinoJson.h:4363:5:   required from 'void ArduinoJson::V6211HB::detail::TextFormatter<TWriter>::writeRaw(char) [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4301:19:   required from 'void ArduinoJson::V6211HB::detail::TextFormatter<TWriter>::writeFloat(T) [with T = double; TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4594:5:   required from 'size_t ArduinoJson::V6211HB::detail::JsonSerializer<TWriter>::visitFloat(ArduinoJson::V6211HB::JsonFloat) [with TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int; ArduinoJson::V6211HB::JsonFloat = double]'
ArduinoJson.h:1845:51:   required from 'typename TVisitor::result_type ArduinoJson::V6211HB::detail::VariantData::accept(TVisitor&) const [with TVisitor = ArduinoJson::V6211HB::detail::JsonSerializer<ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:2111:31:   required from 'typename TVisitor::result_type ArduinoJson::V6211HB::detail::variantAccept(const ArduinoJson::V6211HB::detail::VariantData*, TVisitor&) [with TVisitor = ArduinoJson::V6211HB::detail::JsonSerializer<ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:4530:68:   required from 'size_t ArduinoJson::V6211HB::detail::doSerialize(ArduinoJson::V6211HB::JsonVariantConst, TWriter) [with TSerializer = ArduinoJson::V6211HB::detail::JsonSerializer; TWriter = ArduinoJson::V6211HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:4536:49:   required from 'size_t ArduinoJson::V6211HB::detail::serialize(ArduinoJson::V6211HB::JsonVariantConst, TDestination&) [with TSerializer = ArduinoJson::V6211HB::detail::JsonSerializer; TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4643:55:   required from 'size_t ArduinoJson::V6211HB::serializeJson(ArduinoJson::V6211HB::JsonVariantConst, TDestination&) [with TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4889:27:   required from here
ArduinoJson.h:4388:26: error: 'class std::basic_string<char>' has no member named 'write'
     return _dest->write(c);
                          ^
Exit Code:
1