【发布时间】:2012-09-27 21:50:07
【问题描述】:
以下是我创建的一些宏:
#define MODULE_NAME moduleName
#define MODULE_STRUCT MODULE_NAME ## _struct
#define MODULE_FUNCTION(name) MODULE_NAME ## _ ## name
在这些定义之后,我希望发生以下扩展:
MODULE_STRUCT --> moduleName_struct
MODULE_FUNCTION(functionName) --> moduleName_functionName
但是,当我添加标记粘贴运算符时,MODULE_NAME 在 MODULE_FUNCTION 和 MODULE_STRUCT 中的扩展不再发生......在将它们粘贴在一起时似乎将 MODULE_NAME 视为文字字符串。
有没有办法解决这个问题?
【问题讨论】: