【发布时间】:2014-01-14 14:31:56
【问题描述】:
假设我有一个宏
#define CLASS_NAME ItemsList
稍后我想使用它的值,不是作为符号,而是作为宽字符串。我的问题开始了。当我简单地编写时(在常规 C++ 代码中,而不是在宏定义中):
L#CLASS_NAME
编译器给我一个错误,说令牌# 不是这里预期的。当我为它写代理时
#define WSTRING(S) L#S
并使用它
WSTRING(CLASS_NAME)
我将获得内容为“CLASS_NAME”的宽字符串。我想扩展宏,意思是获取它的值,而不是转换宏名称。
那么如何正确地做到这一点(Visual Studio 2012)?
【问题讨论】:
标签: c++ string visual-studio-2012 macros