Erstellen Sie ein C++-Makro, das eine Compilervariable definiert und eine Methode aufruft
Posted: 18 Jan 2025, 18:31
Ich versuche, ein Compiler-Makro in C++ zu erstellen, das eine (Compiler-)Variable definiert und dann eine C++-Methode aufruft. Wenn ich beispielsweise Folgendes in meinem C++-Code habe:
Ich möchte, dass der Compiler es erweitert auf:
Der nächste Code, den ich gefunden habe, ist:
Ist das, was ich versuche, überhaupt möglich? Ich scheine zwischen verschiedenen Fehlern zu wechseln, einschließlich „Auf ‚#‘ folgt kein Makroparameter“. Kann mir jemand raten, was falsch ist?
Code: Select all
TL_CLI_ADD_EXIT_CODE(123,"SOMENAME","Description of code")
Code: Select all
#define EXITCODE_SOMENAME 123
addExitCode(123,"SOMENAME","Description of code");
Code: Select all
// Macro to concatenate EXITCODE_ prefix with the number
#define TL_CLI_CONCAT_EXITCODE(number) EXITCODE_##number
// Macro to create a new exit code definition
#define TL_CLI_ADD_EXIT_CODE(c,n,d) \
#define TL_CLI_CONCAT_EXITCODE(n) c \
addExitCode(c,\"n\",d);