1

I wrote simple program to test debug macros, but it gives me compilation error

Program:

#include <Arduino.h>

#define DEBUG

#ifdef DEBUG
  #define DPRINT(...)    Serial.print(__VA_ARGS__)
  #define DPRINTLN(...)  Serial.println(__VA_ARGS__)
#else
  // define blank line
  #define DPRINT(...)
  #define DPRINTLN(...)
#endif


void setup() {
  // put your setup code here, to run once:
  String str ="Hello MrNams";
  DPRINT("Here is my string %s",str);
}

void loop() {
  // put your main code here, to run repeatedly:
}

Compilation Error:

src/main.cpp: In function 'void setup()': src/main.cpp:7:50: error: no matching function for call to 'HardwareSerial::print(const char [21], String&)' #define DPRINT(...) Serial.print(VA_ARGS) ^ src/main.cpp:19:3: note: in expansion of macro 'DPRINT' DPRINT("Here is my string %s",str); ^~~~~~ In file included from C:/Users//.platformio/packages/framework-arduinoespressif32/cores/esp32/Stream.h:26, from C:/Users//.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:177, from src/main.cpp:2: C:/Users//.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.h:81:12: note: candidate: 'size_t Print::print(const __FlashStringHelper*)' size_t print(const __FlashStringHelper *); ^~~~~ C:/Users//.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.h:81:12: note: candidate expects 1 argument, 2 provided
C:/Users//.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.h:82:12: note: candidate: 'size_t Print::print(const String&)'
size_t print(const String &);

3
  • Serial.print doesn't support variable arguments Commented May 13, 2023 at 16:57
  • format the error log as code Commented May 13, 2023 at 19:43
  • This: ("Here is my string %s",str); cannot be handed over to Serial.print() which is effectively what you are doing. The argument set appears to be more appropriate for the C++ function printf(). Commented May 14, 2023 at 9:19

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.