Hi there,
I’m trying to make some kind of cache to keep a parsed DynamicJsonDocument by key.
The code I’ve written is looking that way:
std::map<String, DynamicJsonDocument> jsonCache;
DynamicJsonDocument json(256);
jsonCache["key"] = json; // <-- line of code producing the error
When compiling that code I get following error.
I’ve no idea how to solve that.
src/IotAlarm.cpp:156:24: required from here
/Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/tuple:1088:70: error: no matching function for call to 'ArduinoJson6150_0000010::BasicJsonDocument<ArduinoJson6150_0000010::DefaultAllocator>::BasicJsonDocument()'
second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
^
/Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/tuple:1088:70: note: candidates are:
In file included from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/DynamicJsonDocument.hpp:7:0,
from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson.hpp:21,
from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson.h:9,
from lib/InnoWiFi/InnoWiFi.h:9,
from include/IotAlarm.h:4,
from src/IotAlarm.cpp:4:
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:78:3: note: ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(ArduinoJson6150_0000010::VariantRef) [with TAllocator = ArduinoJson6150_0000010::DefaultAllocator]
BasicJsonDocument(VariantRef src)
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:78:3: note: candidate expects 1 argument, 0 provided
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:66:3: note: template<class T> ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(const T&, typename ArduinoJson6150_0000010::enable_if<(((((ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::VariantRef>::value || ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::VariantConstRef>::value) || ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::ArrayRef>::value) || ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::ArrayConstRef>::value) || ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::ObjectRef>::value) || ArduinoJson6150_0000010::is_same<T, ArduinoJson6150_0000010::ObjectConstRef>::value)>::type*)
BasicJsonDocument(
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:66:3: note: template argument deduction/substitution failed:
In file included from /Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/functional:55:0,
from /Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:66,
from /Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/algorithm:62,
from /Users/innofriends/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:237,
from lib/InnoWiFi/InnoWiFi.h:6,
from include/IotAlarm.h:4,
from src/IotAlarm.cpp:4:
/Users/innofriends/.platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/tuple:1088:70: note: candidate expects 2 arguments, 0 provided
second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
^
In file included from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/DynamicJsonDocument.hpp:7:0,
from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson.hpp:21,
from .pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson.h:9,
from lib/InnoWiFi/InnoWiFi.h:9,
from include/IotAlarm.h:4,
from src/IotAlarm.cpp:4:
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:60:3: note: ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(const ArduinoJson6150_0000010::JsonDocument&) [with TAllocator = ArduinoJson6150_0000010::DefaultAllocator]
BasicJsonDocument(const JsonDocument& src) {
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:60:3: note: candidate expects 1 argument, 0 provided
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:55:3: note: ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>&&) [with TAllocator = ArduinoJson6150_0000010::DefaultAllocator]
BasicJsonDocument(BasicJsonDocument&& src) : AllocatorOwner<TAllocator>(src) {
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:55:3: note: candidate expects 1 argument, 0 provided
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:48:3: note: ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(const ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>&) [with TAllocator = ArduinoJson6150_0000010::DefaultAllocator]
BasicJsonDocument(const BasicJsonDocument& src)
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:48:3: note: candidate expects 1 argument, 0 provided
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:44:12: note: ArduinoJson6150_0000010::BasicJsonDocument<TAllocator>::BasicJsonDocument(size_t, TAllocator) [with TAllocator = ArduinoJson6150_0000010::DefaultAllocator; size_t = unsigned int]
explicit BasicJsonDocument(size_t capa, TAllocator alloc = TAllocator())
^
.pio/libdeps/nodemcuv2/ArduinoJson_ID64/src/ArduinoJson/Document/BasicJsonDocument.hpp:44:12: note: candidate expects 2 arguments, 0 provided
*** [.pio/build/nodemcuv2/src/IotAlarm.cpp.o] Error 1