使用预定义的字符串和参数从宏构建的函数名称

hre*_*ult 3 c++ macros

我目前在C++中定义宏时遇到问题.

我希望这样:

#define MY_MACRO (Name, Address) __int32 Get_Name() { return Address; }
Run Code Online (Sandbox Code Playgroud)

现在,当我这样称呼时:

MY_MACRO(Test, 0x10);
Run Code Online (Sandbox Code Playgroud)

吐出来的

__int32 Get_Name() { return 0x10; }
            ^^^^
Run Code Online (Sandbox Code Playgroud)

代替

__int32 Get_Test() { return 0x10; }
            ^^^^
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我真的需要Get_名字中的名字,然后是参数传递的名字.

Qix*_*Qix 6

使用宏连接运算符.

#define MY_MACRO (Name, Address) __int32 Get_##Name() { return Address; }
Run Code Online (Sandbox Code Playgroud)