Skip to content

error: no matching function for call to 'ArduinoJson::V702PB2::JsonDocument::JsonDocument()' when building example codeΒ #2045

@evries

Description

@evries

Description
When I build the example code I get the following error:
error: no matching function for call to 'ArduinoJson::V702PB2::JsonDocument::JsonDocument()'

Troubleshooter's report

  1. The program uses ArduinoJson 7
  2. The issue happens at compile time
  3. Error says "no matching function for call to ..."
  4. The error is not in the list

Environment

  • Microcontroller: ESP8266
  • Core/Framework: framework-arduinoespressif8266 @ 3.20704.0 (2.7.4)
  • IDE: VS code

Reproduction code

#include <ArduinoJson.h>

void setup() {
  // Initialize Serial port
  Serial.begin(9600);
  while (!Serial)
    continue;

  // Allocate the JSON document
  JsonDocument doc;

  // Add values in the document
  doc["sensor"] = "gps";
  doc["time"] = 1351824120;

  // Add an array
  JsonArray data = doc["data"].to<JsonArray>();
  data.add(48.756080);
  data.add(2.302038);

  // Generate the minified JSON and send it to the Serial port
  serializeJson(doc, Serial);
  // The above line prints:
  // {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}

  // Start a new line
  Serial.println();

  // Generate the prettified JSON and send it to the Serial port
  serializeJsonPretty(doc, Serial);
  // The above line prints:
  // {
  //   "sensor": "gps",
  //   "time": 1351824120,
  //   "data": [
  //     48.756080,
  //     2.302038
  //   ]
  // }
}

void loop() {
  // not used in this example
}

Remarks

Complete compiler output

Processing nodemcuv2 (platform: espressif8266; board: nodemcuv2; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
PLATFORM: Espressif 8266 (2.6.2) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 @ 3.20704.0 (2.7.4)
 - tool-esptool @ 1.413.0 (4.13)
 - tool-esptoolpy @ 1.20800.0 (2.8.0)
 - toolchain-xtensa @ 2.40802.200502 (4.8.2)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 30 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.0.2
Building in release mode
Compiling .pio\build\nodemcuv2\src\main.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\Esp.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\FS.cpp.o
Compiling .pio\build\nodemcuv2\FrameworkArduino\FSnoop.cpp.o
In file included from .pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson.hpp:33:0,
                 from .pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson.h:9,
                 from src\main.cpp:10:
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp: In constructor 'ArduinoJson::V702PB2::JsonDocument::JsonDocument(ArduinoJson::V702PB2::JsonDocument&&)':
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:33:51: error: no matching function for call to 'ArduinoJson::V702PB2::JsonDocument::JsonDocument()'
   JsonDocument(JsonDocument&& src) : JsonDocument() {
                                                   ^
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:33:51: note: candidates are:
Compiling .pio\build\nodemcuv2\FrameworkArduino\FunctionalInterrupt.cpp.o
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:39:3: note: template<class T> ArduinoJson::V702PB2::JsonDocument::JsonDocument(const T&, ArduinoJson::V702PB2::Allocator*, typename ArduinoJson::V702PB2::detail::enable_if<(((((ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonVariant>::value || ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonVariantConst>::value) || ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonArray>::value) || ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonArrayConst>::value) || ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonObject>::value) || ArduinoJson::V702PB2::detail::is_same<T, ArduinoJson::V702PB2::JsonObjectConst>::value)>::type*)
   JsonDocument(const T& src,
   ^
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:39:3: note:   template argument deduction/substitution failed:
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:33:51: note:   candidate expects 3 arguments, 0 provided
   JsonDocument(JsonDocument&& src) : JsonDocument() {
                                                   ^
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:33:3: note: ArduinoJson::V702PB2::JsonDocument::JsonDocument(ArduinoJson::V702PB2::JsonDocument&&)
   JsonDocument(JsonDocument&& src) : JsonDocument() {
   ^
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:33:3: note:   candidate expects 1 argument, 0 provided
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:28:3: note: ArduinoJson::V702PB2::JsonDocument::JsonDocument(const ArduinoJson::V702PB2::JsonDocument&)
   JsonDocument(const JsonDocument& src) : JsonDocument(src.allocator()) {
   ^
.pio\libdeps\nodemcuv2\ArduinoJson\src/ArduinoJson/Document/JsonDocument.hpp:28:3: note:   candidate expects 1 argument, 0 provided

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugv7ArduinoJson 7

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions