我目前在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_名字中的名字,然后是参数传递的名字.
使用宏连接运算符.
#define MY_MACRO (Name, Address) __int32 Get_##Name() { return Address; }
Run Code Online (Sandbox Code Playgroud)