使用预定义字符串和参数从宏生成的函数名 我现在对C++中宏的定义有问题。

使用预定义字符串和参数从宏生成的函数名 我现在对C++中宏的定义有问题。,c++,macros,C++,Macros,我想要这样: #define MY_MACRO (Name, Address) __int32 Get_Name() { return Address; } MY_MACRO(Test, 0x10); 现在,当我这样称呼它: #define MY_MACRO (Name, Address) __int32 Get_Name() { return Address; } MY_MACRO(Test, 0x10); 它吐出来了 __int32 Get_Name() { return 0x10;

我想要这样:

#define MY_MACRO (Name, Address) __int32 Get_Name() { return Address; }
MY_MACRO(Test, 0x10);
现在,当我这样称呼它:

#define MY_MACRO (Name, Address) __int32 Get_Name() { return Address; }
MY_MACRO(Test, 0x10);
它吐出来了

__int32 Get_Name() { return 0x10; }
            ^^^^
而不是

__int32 Get_Test() { return 0x10; }
            ^^^^
我如何解决这个问题?我真的需要在名称中输入
Get\uu
,然后输入参数传递的名称。

使用


必须以这种方式连接字符串

#define MY_MACRO(Name, Address) __int32 Get_##Name() { return Address; }
空格填充将在某些编译器中引起问题。它可以解析为
Get\uname