Erstellen Sie ein C++-Makro, das eine Compilervariable definiert und eine Methode aufruft

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Erstellen Sie ein C++-Makro, das eine Compilervariable definiert und eine Methode aufruft

by Guest » 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:

Code: Select all

TL_CLI_ADD_EXIT_CODE(123,"SOMENAME","Description of code")
Ich möchte, dass der Compiler es erweitert auf:

Code: Select all

#define EXITCODE_SOMENAME   123
addExitCode(123,"SOMENAME","Description of code");
Der nächste Code, den ich gefunden habe, ist:

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);
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?

Top