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
$ 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:345:2: error: expected unqualified-id before '&&' token
T&& declval();
^
In file included from prog.cc:8:0:
ArduinoJson.h:697:53: error: 'declval' was not declared in this scope
typename enable_if<is_same<decltype(declval<const T>().c_str()),
^
ArduinoJson.h:697:79: error: a function call cannot appear in a constant-expression
typename enable_if<is_same<decltype(declval<const T>().c_str()),
^
ArduinoJson.h:698:55: error: template argument 1 is invalid
const char*>::value>::type>
^
ArduinoJson.h:698:63: error: template argument 1 is invalid
const char*>::value>::type>
^
ArduinoJson.h:698:70: error: template argument 2 is invalid
const char*>::value>::type>
^
ArduinoJson.h:699:5: error: expected '::' before ':' token
: true_type {};
^
ArduinoJson.h:699:5: error: expected identifier before ':' token
ArduinoJson.h:699:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:699:5: error: expected '{' before ':' token
ArduinoJson.h:699:5: error: expected unqualified-id before ':' token
ArduinoJson.h:704:53: error: 'declval' was not declared in this scope
typename enable_if<is_same<decltype(declval<const T>().data()),
^
ArduinoJson.h:704:78: error: a function call cannot appear in a constant-expression
typename enable_if<is_same<decltype(declval<const T>().data()),
^
ArduinoJson.h:705:55: error: template argument 1 is invalid
const char*>::value>::type>
^
ArduinoJson.h:705:63: error: template argument 1 is invalid
const char*>::value>::type>
^
ArduinoJson.h:705:70: error: template argument 2 is invalid
const char*>::value>::type>
^
ArduinoJson.h:706:5: error: expected '::' before ':' token
: true_type {};
^
ArduinoJson.h:706:5: error: expected identifier before ':' token
ArduinoJson.h:706:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:706:5: error: expected '{' before ':' token
ArduinoJson.h:706:5: error: expected unqualified-id before ':' token
ArduinoJson.h:712:29: error: 'declval' was not declared in this scope
is_same<decltype(declval<const T>().length()), size_t>::value>::type>
^
ArduinoJson.h:712:56: error: a function call cannot appear in a constant-expression
is_same<decltype(declval<const T>().length()), size_t>::value>::type>
^
ArduinoJson.h:712:65: error: template argument 1 is invalid
is_same<decltype(declval<const T>().length()), size_t>::value>::type>
^
ArduinoJson.h:712:73: error: template argument 1 is invalid
is_same<decltype(declval<const T>().length()), size_t>::value>::type>
^
ArduinoJson.h:712:80: error: template argument 2 is invalid
is_same<decltype(declval<const T>().length()), size_t>::value>::type>
^
ArduinoJson.h:713:5: error: expected '::' before ':' token
: true_type {};
^
ArduinoJson.h:713:5: error: expected identifier before ':' token
ArduinoJson.h:713:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:713:5: error: expected '{' before ':' token
ArduinoJson.h:713:5: error: expected unqualified-id before ':' token
ArduinoJson.h:719:29: error: 'declval' was not declared in this scope
is_same<decltype(declval<const T>().size()), size_t>::value>::type>
^
ArduinoJson.h:719:54: error: a function call cannot appear in a constant-expression
is_same<decltype(declval<const T>().size()), size_t>::value>::type>
^
ArduinoJson.h:719:63: error: template argument 1 is invalid
is_same<decltype(declval<const T>().size()), size_t>::value>::type>
^
ArduinoJson.h:719:71: error: template argument 1 is invalid
is_same<decltype(declval<const T>().size()), size_t>::value>::type>
^
ArduinoJson.h:719:78: error: template argument 2 is invalid
is_same<decltype(declval<const T>().size()), size_t>::value>::type>
^
ArduinoJson.h:720:5: error: expected '::' before ':' token
: true_type {};
^
ArduinoJson.h:720:5: error: expected identifier before ':' token
ArduinoJson.h:720:5: error: qualified name does not name a class before ':' token
ArduinoJson.h:720:5: error: expected '{' before ':' token
ArduinoJson.h:720:5: error: expected unqualified-id before ':' token
In file included from prog.cc:8:0:
ArduinoJson.h: In function 'TFloat ArduinoJson::V6212HB::detail::make_float(TFloat, TExponent)':
ArduinoJson.h:1746:9: error: expected nested-name-specifier before 'traits'
using traits = FloatTraits<TFloat>;
^
ArduinoJson.h:1747:8: error: 'powersOfTen' does not name a type
auto powersOfTen = e > 0 ? traits::positiveBinaryPowersOfTen()
^
ArduinoJson.h:1753:12: error: 'powersOfTen' was not declared in this scope
m *= powersOfTen[index];
^
ArduinoJson.h: At global scope:
ArduinoJson.h:2648:64: error: '>>' should be '> >' within a nested template argument list
MemberProxy<TDerived, TString>>::type
^
ArduinoJson.h:2652:63: error: '>>' should be '> >' within a nested template argument list
MemberProxy<TDerived, TChar*>>::type
^
ArduinoJson.h:2686:66: error: '>>' should be '> >' within a nested template argument list
class ElementProxy : public VariantRefBase<ElementProxy<TUpstream>>,
^
ArduinoJson.h:2687:68: error: '>>' should be '> >' within a nested template argument list
public VariantOperators<ElementProxy<TUpstream>> {
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonVariant>::checkJson(ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:2755:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:2756:14: error: 'data' was not declared in this scope
return !!data;
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonVariantConst>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:2771:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:2772:14: error: 'data' was not declared in this scope
return !!data;
^
ArduinoJson.h: In static member function 'static ArduinoJson::V6212HB::JsonArrayConst ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonArrayConst>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:2962:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:2963:12: error: 'data' was not declared in this scope
return data ? data->asArray() : 0;
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonArrayConst>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:2966:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:2967:12: error: 'data' was not declared in this scope
return data && data->isArray();
^
ArduinoJson.h: In static member function 'static ArduinoJson::V6212HB::JsonArray ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonArray>::fromJson(ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:3073:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3074:10: error: 'pool' does not name a type
auto pool = getPool(src);
^
ArduinoJson.h:3075:22: error: 'pool' was not declared in this scope
return JsonArray(pool, data != 0 ? data->asArray() : 0);
^
ArduinoJson.h:3075: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::V6212HB::Converter<ArduinoJson::V6212HB::JsonArray>::checkJson(ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:3083:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3084:12: error: 'data' was not declared in this scope
return data && data->isArray();
^
ArduinoJson.h: In static member function 'static ArduinoJson::V6212HB::JsonObjectConst ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonObjectConst>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:3294:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3295:12: error: 'data' was not declared in this scope
return data != 0 ? data->asObject() : 0;
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonObjectConst>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:3298:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3299:12: error: 'data' was not declared in this scope
return data && data->isObject();
^
ArduinoJson.h: At global scope:
ArduinoJson.h:3306:62: error: '>>' should be '> >' within a nested template argument list
: public VariantRefBase<MemberProxy<TUpstream, TStringRef>>,
^
ArduinoJson.h:3307:64: error: '>>' should be '> >' within a nested template argument list
public VariantOperators<MemberProxy<TUpstream, TStringRef>> {
^
ArduinoJson.h:3404:73: error: '>>' should be '> >' within a nested template argument list
detail::MemberProxy<JsonObject, TString>>::type
^
ArduinoJson.h:3411:72: error: '>>' should be '> >' within a nested template argument list
detail::MemberProxy<JsonObject, TChar*>>::type
^
ArduinoJson.h: In static member function 'static ArduinoJson::V6212HB::JsonObject ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonObject>::fromJson(ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:3483:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3484:10: error: 'pool' does not name a type
auto pool = getPool(src);
^
ArduinoJson.h:3485:23: error: 'pool' was not declared in this scope
return JsonObject(pool, data != 0 ? data->asObject() : 0);
^
ArduinoJson.h:3485: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::V6212HB::Converter<ArduinoJson::V6212HB::JsonObject>::checkJson(ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:3493:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:3494:12: error: 'data' was not declared in this scope
return data && data->isObject();
^
ArduinoJson.h: At global scope:
ArduinoJson.h:3587:49: error: '>>' should be '> >' within a nested template argument list
detail::MemberProxy<JsonDocument&, TString>>::type
^
ArduinoJson.h:3594:48: error: '>>' should be '> >' within a nested template argument list
detail::MemberProxy<JsonDocument&, TChar*>>::type
^
ArduinoJson.h:3710:38: error: expected ',' or '...' before '&&' token
BasicJsonDocument(BasicJsonDocument&& src) : AllocatorOwner<TAllocator>(src) {
^
ArduinoJson.h:3710:44: error: invalid constructor; you probably meant 'ArduinoJson::V6212HB::BasicJsonDocument<TAllocator> (const ArduinoJson::V6212HB::BasicJsonDocument<TAllocator>&)'
BasicJsonDocument(BasicJsonDocument&& src) : AllocatorOwner<TAllocator>(src) {
^
ArduinoJson.h:3739:49: error: expected ',' or '...' before '&&' token
BasicJsonDocument& operator=(BasicJsonDocument&& src) {
^
ArduinoJson.h: In member function 'ArduinoJson::V6212HB::BasicJsonDocument<TAllocator>& ArduinoJson::V6212HB::BasicJsonDocument<TAllocator>::operator=(ArduinoJson::V6212HB::BasicJsonDocument<TAllocator>)':
ArduinoJson.h:3740:20: error: 'src' was not declared in this scope
moveAssignFrom(src);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:4147:57: error: '>>' should be '> >' within a nested template argument list
MemberProxy<TDerived, TString*>>::type
^
ArduinoJson.h:4154:56: error: '>>' should be '> >' within a nested template argument list
MemberProxy<TDerived, TString>>::type
^
ArduinoJson.h:4431:1: error: expected unqualified-id before 'using'
using void_t = void;
^
ArduinoJson.h:4436:8: error: 'void_t' was not declared in this scope
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:28: error: '.' cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:41: error: a function call cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:42: error: a function call cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:58: error: '.' cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:67: error: a function call cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4436:68: error: a function call cannot appear in a constant-expression
T, void_t<decltype(T().push_back('a')), decltype(T().append(""))>>
^
ArduinoJson.h:4437:7: error: wrong number of template arguments (3, should be 2)
: true_type {};
^
ArduinoJson.h:4433:8: error: provided for 'template<class T, class> struct ArduinoJson::V6212HB::detail::is_std_string'
struct is_std_string : false_type {};
^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<((ArduinoJson::V6212HB::detail::is_integral<T>::value && (! ArduinoJson::V6212HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6212HB::detail::is_same<char, T>::value))>::type>::toJson(T, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4695:10: error: 'data' does not name a type
auto data = getData(dst);
^
In file included from prog.cc:8:0:
ArduinoJson.h:4696: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:4696: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:4697: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::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<((ArduinoJson::V6212HB::detail::is_integral<T>::value && (! ArduinoJson::V6212HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6212HB::detail::is_same<char, T>::value))>::type>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4701: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:4702:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4703: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::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<((ArduinoJson::V6212HB::detail::is_integral<T>::value && (! ArduinoJson::V6212HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6212HB::detail::is_same<char, T>::value))>::type>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4706:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4707:12: error: 'data' was not declared in this scope
return data && data->template isInteger<T>();
^
ArduinoJson.h: In static member function 'static T ArduinoJson::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::is_enum<T>::value>::type>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4717:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4718: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::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::is_enum<T>::value>::type>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4721:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4722:12: error: 'data' was not declared in this scope
return data && data->template isInteger<int>();
^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6212HB::Converter<bool>::toJson(bool, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4728:10: error: 'data' does not name a type
auto data = getData(dst);
^
ArduinoJson.h:4729:9: error: 'data' was not declared in this scope
if (data)
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<bool>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4733:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4734:12: error: 'data' was not declared in this scope
return data ? data->asBoolean() : false;
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<bool>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4737:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4738:12: error: 'data' was not declared in this scope
return data && data->isBoolean();
^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::is_floating_point<T>::value>::type>::toJson(T, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4746:10: error: 'data' does not name a type
auto data = getData(dst);
^
ArduinoJson.h:4747:9: error: 'data' was not declared in this scope
if (data)
^
ArduinoJson.h: In static member function 'static T ArduinoJson::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::is_floating_point<T>::value>::type>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4751:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4752: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::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::is_floating_point<T>::value>::type>::checkJson(ArduinoJson::V6212HB::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->isFloat();
^
ArduinoJson.h: In static member function 'static const char* ArduinoJson::V6212HB::Converter<const char*>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4765:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4766: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::V6212HB::Converter<const char*>::checkJson(ArduinoJson::V6212HB::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->isString();
^
ArduinoJson.h: In static member function 'static ArduinoJson::V6212HB::JsonString ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonString>::fromJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4779:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4780:12: error: 'data' was not declared in this scope
return data ? data->asString() : 0;
^
ArduinoJson.h: In static member function 'static bool ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::JsonString>::checkJson(ArduinoJson::V6212HB::JsonVariantConst)':
ArduinoJson.h:4783:10: error: 'data' does not name a type
auto data = getData(src);
^
ArduinoJson.h:4784:12: error: 'data' was not declared in this scope
return data && data->isString();
^
ArduinoJson.h: In function 'typename ArduinoJson::V6212HB::detail::enable_if<ArduinoJson::V6212HB::detail::IsString<TString>::value, bool>::type ArduinoJson::V6212HB::convertToJson(const T&, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4791:8: error: 'data' does not name a type
auto data = VariantAttorney::getData(dst);
^
ArduinoJson.h:4792:8: error: 'pool' does not name a type
auto pool = VariantAttorney::getPool(dst);
^
ArduinoJson.h:4793:27: error: 'data' was not declared in this scope
return variantSetString(data, adaptString(src), pool);
^
ArduinoJson.h:4793:51: error: 'pool' was not declared in this scope
return variantSetString(data, adaptString(src), pool);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:4796:45: error: '>>' should be '> >' within a nested template argument list
struct Converter<SerializedValue<const char*>>
^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::SerializedValue<const char*> >::toJson(ArduinoJson::V6212HB::SerializedValue<const char*>, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4799:10: error: 'data' does not name a type
auto data = getData(dst);
^
ArduinoJson.h:4800:9: error: 'data' was not declared in this scope
if (data)
^
ArduinoJson.h: In static member function 'static void ArduinoJson::V6212HB::Converter<ArduinoJson::V6212HB::SerializedValue<T>, typename ArduinoJson::V6212HB::detail::enable_if<(! ArduinoJson::V6212HB::detail::is_same<const char*, T>::value)>::type>::toJson(ArduinoJson::V6212HB::SerializedValue<T>, ArduinoJson::V6212HB::JsonVariant)':
ArduinoJson.h:4810:10: error: 'data' does not name a type
auto data = getData(dst);
^
ArduinoJson.h:4811:10: error: 'pool' does not name a type
auto pool = getPool(dst);
^
ArduinoJson.h:4812:9: error: 'data' was not declared in this scope
if (data)
^
ArduinoJson.h:4813:32: error: 'pool' was not declared in this scope
data->storeOwnedRaw(src, pool);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:4817:27: error: 'nullptr' was not declared in this scope
struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
^
ArduinoJson.h:4817:34: error: a function call cannot appear in a constant-expression
struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
^
ArduinoJson.h:4817:35: error: template argument 1 is invalid
struct Converter<decltype(nullptr)> : private detail::VariantAttorney {
^
ArduinoJson.h:4978:26: error: 'nullptr' was not declared in this scope
struct Comparer<decltype(nullptr), void> : NullComparer {
^
ArduinoJson.h:4978:33: error: a function call cannot appear in a constant-expression
struct Comparer<decltype(nullptr), void> : NullComparer {
^
ArduinoJson.h:4978:40: error: template argument 1 is invalid
struct Comparer<decltype(nullptr), void> : NullComparer {
^
ArduinoJson.h:5486:2: error: expected unqualified-id before '&&' token
T&& forward(typename remove_reference<T>::type& t) noexcept {
^
ArduinoJson.h:5668:66: error: expected ',' or '...' before '&&' token
Reader<typename remove_reference<TInput>::type> makeReader(TInput&& input) {
^
ArduinoJson.h: In function 'ArduinoJson::V6212HB::detail::Reader<typename ArduinoJson::V6212HB::detail::remove_reference<T>::type> ArduinoJson::V6212HB::detail::makeReader(TInput)':
ArduinoJson.h:5670:7: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
detail::forward<TInput>(input)};
^
ArduinoJson.h:5670:31: error: 'input' was not declared in this scope
detail::forward<TInput>(input)};
^
ArduinoJson.h:5669:57: error: expected primary-expression before '{' token
return Reader<typename remove_reference<TInput>::type>{
^
ArduinoJson.h:5669:57: error: expected ';' before '{' token
ArduinoJson.h:5670:7: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
detail::forward<TInput>(input)};
^
ArduinoJson.h:5670:29: error: expected primary-expression before '>' token
detail::forward<TInput>(input)};
^
ArduinoJson.h: At global scope:
ArduinoJson.h:5763:9: error: expected nested-name-specifier before 'type'
using type = void;
^
ArduinoJson.h:5767:9: error: expected nested-name-specifier before 'type'
using type = T;
^
ArduinoJson.h:5781:60: error: expected ',' or '...' before '&&' token
DeserializationError deserialize(JsonDocument& doc, TStream&& input,
^
ArduinoJson.h:5782: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::V6212HB::DeserializationError ArduinoJson::V6212HB::detail::deserialize(ArduinoJson::V6212HB::JsonDocument&, TStream)':
ArduinoJson.h:5783:8: error: 'reader' does not name a type
auto reader = makeReader(detail::forward<TStream>(input));
^
ArduinoJson.h:5784:8: error: 'data' does not name a type
auto data = VariantAttorney::getData(doc);
^
ArduinoJson.h:5785:8: error: 'pool' does not name a type
auto pool = VariantAttorney::getPool(doc);
^
ArduinoJson.h:5786:8: error: 'options' does not name a type
auto options = makeDeserializationOptions(args...);
^
ArduinoJson.h:5788:42: error: 'pool' was not declared in this scope
return makeDeserializer<TDeserializer>(pool, reader,
^
ArduinoJson.h:5788:48: error: 'reader' was not declared in this scope
return makeDeserializer<TDeserializer>(pool, reader,
^
ArduinoJson.h:5789:60: error: 'input' was not declared in this scope
makeStringStorage(input, pool))
^
ArduinoJson.h:5790:15: error: 'data' was not declared in this scope
.parse(*data, options.filter, options.nestingLimit);
^
ArduinoJson.h:5790:21: error: 'options' was not declared in this scope
.parse(*data, options.filter, options.nestingLimit);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:5796: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::V6212HB::DeserializationError ArduinoJson::V6212HB::detail::deserialize(ArduinoJson::V6212HB::JsonDocument&, TChar*, Size, Args ...)':
ArduinoJson.h:5797:8: error: 'reader' does not name a type
auto reader = makeReader(input, size_t(inputSize));
^
ArduinoJson.h:5798:8: error: 'data' does not name a type
auto data = VariantAttorney::getData(doc);
^
ArduinoJson.h:5799:8: error: 'pool' does not name a type
auto pool = VariantAttorney::getPool(doc);
^
ArduinoJson.h:5800:8: error: 'options' does not name a type
auto options = makeDeserializationOptions(args...);
^
ArduinoJson.h:5802:42: error: 'pool' was not declared in this scope
return makeDeserializer<TDeserializer>(pool, reader,
^
ArduinoJson.h:5802:48: error: 'reader' was not declared in this scope
return makeDeserializer<TDeserializer>(pool, reader,
^
ArduinoJson.h:5804:15: error: 'data' was not declared in this scope
.parse(*data, options.filter, options.nestingLimit);
^
ArduinoJson.h:5804:21: error: 'options' was not declared in this scope
.parse(*data, options.filter, options.nestingLimit);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:6407:61: error: expected ',' or '...' before '&&' token
DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
^
ArduinoJson.h:6407:71: error: parameter packs not expanded with '...':
DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
^
ArduinoJson.h:6407:71: note: 'Args'
ArduinoJson.h: In function 'ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeJson(ArduinoJson::V6212HB::JsonDocument&, <type error>)':
ArduinoJson.h:6409:45: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h:6409:65: error: expected primary-expression before '>' token
return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h:6409:67: error: 'args' was not declared in this scope
return deserialize<JsonDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:6413:42: error: expected ',' or '...' before '&&' token
Args&&... args) {
^
ArduinoJson.h:6413:52: error: parameter packs not expanded with '...':
Args&&... args) {
^
ArduinoJson.h:6413:52: note: 'Args'
ArduinoJson.h: In function 'ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeJson(ArduinoJson::V6212HB::JsonDocument&, TChar*, <type error>)':
ArduinoJson.h:6416:40: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
detail::forward<Args>(args)...);
^
ArduinoJson.h:6416:60: error: expected primary-expression before '>' token
detail::forward<Args>(args)...);
^
ArduinoJson.h:6416:62: error: 'args' was not declared in this scope
detail::forward<Args>(args)...);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:6947:64: error: expected ',' or '...' before '&&' token
DeserializationError deserializeMsgPack(JsonDocument& doc, Args&&... args) {
^
ArduinoJson.h:6947:74: error: parameter packs not expanded with '...':
DeserializationError deserializeMsgPack(JsonDocument& doc, Args&&... args) {
^
ArduinoJson.h:6947:74: note: 'Args'
ArduinoJson.h: In function 'ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeMsgPack(ArduinoJson::V6212HB::JsonDocument&, <type error>)':
ArduinoJson.h:6949:48: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h:6949:68: error: expected primary-expression before '>' token
return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h:6949:70: error: 'args' was not declared in this scope
return deserialize<MsgPackDeserializer>(doc, detail::forward<Args>(args)...);
^
ArduinoJson.h: At global scope:
ArduinoJson.h:6953:45: error: expected ',' or '...' before '&&' token
Args&&... args) {
^
ArduinoJson.h:6953:55: error: parameter packs not expanded with '...':
Args&&... args) {
^
ArduinoJson.h:6953:55: note: 'Args'
ArduinoJson.h: In function 'ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeMsgPack(ArduinoJson::V6212HB::JsonDocument&, TChar*, <type error>)':
ArduinoJson.h:6956:43: error: 'forward' is not a member of 'ArduinoJson::V6212HB::detail'
detail::forward<Args>(args)...);
^
ArduinoJson.h:6956:63: error: expected primary-expression before '>' token
detail::forward<Args>(args)...);
^
ArduinoJson.h:6956: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::V6212HB::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:6407:22: note: template<class ... Args> ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeJson(ArduinoJson::V6212HB::JsonDocument&, <type error>)
DeserializationError deserializeJson(JsonDocument& doc, Args&&... args) {
^
ArduinoJson.h:6407:22: note: template argument deduction/substitution failed:
ArduinoJson.h:6412:22: note: template<class TChar, class ... Args> ArduinoJson::V6212HB::DeserializationError ArduinoJson::V6212HB::deserializeJson(ArduinoJson::V6212HB::JsonDocument&, TChar*, <type error>)
DeserializationError deserializeJson(JsonDocument& doc, TChar* input,
^
ArduinoJson.h:6412: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::V6212HB::Converter<T, typename ArduinoJson::V6212HB::detail::enable_if<((ArduinoJson::V6212HB::detail::is_integral<T>::value && (! ArduinoJson::V6212HB::detail::is_same<bool, T>::value)) && (! ArduinoJson::V6212HB::detail::is_same<char, T>::value))>::type>::fromJson(ArduinoJson::V6212HB::JsonVariantConst) [with T = long int]':
ArduinoJson.h:2544:52: required from 'typename ArduinoJson::V6212HB::detail::enable_if<(! ArduinoJson::V6212HB::detail::ConverterNeedsWriteableRef<T>::value), T>::type ArduinoJson::V6212HB::detail::VariantRefBase<TDerived>::as() const [with T = long int; TDerived = ArduinoJson::V6212HB::detail::MemberProxy<ArduinoJson::V6212HB::JsonDocument&, const char*>; typename ArduinoJson::V6212HB::detail::enable_if<(! ArduinoJson::V6212HB::detail::ConverterNeedsWriteableRef<T>::value), T>::type = long int]'
ArduinoJson.h:2553:14: required from 'ArduinoJson::V6212HB::detail::VariantRefBase<TDerived>::operator T() const [with T = long int; TDerived = ArduinoJson::V6212HB::detail::MemberProxy<ArduinoJson::V6212HB::JsonDocument&, const char*>]'
prog.cc:48:25: required from here
ArduinoJson.h:4701: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::V6212HB::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:4248:12: required from 'void ArduinoJson::V6212HB::detail::CountingDecorator<TWriter>::write(const uint8_t*, size_t) [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; uint8_t = unsigned char; size_t = long unsigned int]'
ArduinoJson.h:4359:5: required from 'void ArduinoJson::V6212HB::detail::TextFormatter<TWriter>::writeRaw(const char*) [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4632:5: required from 'size_t ArduinoJson::V6212HB::detail::JsonSerializer<TWriter>::visitNull() [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:2123:30: required from 'typename TVisitor::result_type ArduinoJson::V6212HB::detail::variantAccept(const ArduinoJson::V6212HB::detail::VariantData*, TVisitor&) [with TVisitor = ArduinoJson::V6212HB::detail::JsonSerializer<ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:4540:68: required from 'size_t ArduinoJson::V6212HB::detail::doSerialize(ArduinoJson::V6212HB::JsonVariantConst, TWriter) [with TSerializer = ArduinoJson::V6212HB::detail::JsonSerializer; TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:4546:49: required from 'size_t ArduinoJson::V6212HB::detail::serialize(ArduinoJson::V6212HB::JsonVariantConst, TDestination&) [with TSerializer = ArduinoJson::V6212HB::detail::JsonSerializer; TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4653:55: required from 'size_t ArduinoJson::V6212HB::serializeJson(ArduinoJson::V6212HB::JsonVariantConst, TDestination&) [with TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4899:27: required from here
ArduinoJson.h:4401: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::V6212HB::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:4245:12: required from 'void ArduinoJson::V6212HB::detail::CountingDecorator<TWriter>::write(uint8_t) [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; uint8_t = unsigned char]'
ArduinoJson.h:4373:5: required from 'void ArduinoJson::V6212HB::detail::TextFormatter<TWriter>::writeRaw(char) [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4311:19: required from 'void ArduinoJson::V6212HB::detail::TextFormatter<TWriter>::writeFloat(T) [with T = double; TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>]'
ArduinoJson.h:4604:5: required from 'size_t ArduinoJson::V6212HB::detail::JsonSerializer<TWriter>::visitFloat(ArduinoJson::V6212HB::JsonFloat) [with TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int; ArduinoJson::V6212HB::JsonFloat = double]'
ArduinoJson.h:1855:51: required from 'typename TVisitor::result_type ArduinoJson::V6212HB::detail::VariantData::accept(TVisitor&) const [with TVisitor = ArduinoJson::V6212HB::detail::JsonSerializer<ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:2121:31: required from 'typename TVisitor::result_type ArduinoJson::V6212HB::detail::variantAccept(const ArduinoJson::V6212HB::detail::VariantData*, TVisitor&) [with TVisitor = ArduinoJson::V6212HB::detail::JsonSerializer<ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void> >; typename TVisitor::result_type = long unsigned int]'
ArduinoJson.h:4540:68: required from 'size_t ArduinoJson::V6212HB::detail::doSerialize(ArduinoJson::V6212HB::JsonVariantConst, TWriter) [with TSerializer = ArduinoJson::V6212HB::detail::JsonSerializer; TWriter = ArduinoJson::V6212HB::detail::Writer<std::basic_string<char>, void>; size_t = long unsigned int]'
ArduinoJson.h:4546:49: required from 'size_t ArduinoJson::V6212HB::detail::serialize(ArduinoJson::V6212HB::JsonVariantConst, TDestination&) [with TSerializer = ArduinoJson::V6212HB::detail::JsonSerializer; TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4653:55: required from 'size_t ArduinoJson::V6212HB::serializeJson(ArduinoJson::V6212HB::JsonVariantConst, TDestination&) [with TDestination = std::basic_string<char>; size_t = long unsigned int]'
ArduinoJson.h:4899:27: required from here
ArduinoJson.h:4398:26: error: 'class std::basic_string<char>' has no member named 'write'
return dest_->write(c);
^
Exit Code:
1