我有一个字符串的宏,如下所示:
#define APPNAME "MyApp"
现在我想通过使用这个宏来构建一个宽字符串,方法是:
const wchar_t *AppProgID = APPNAME L".Document";
然而,这会生成一个“concatenating mismatched strings”编译错误。
有没有一种方法将APPNAME宏转换为宽字符串字面值?
我有一个字符串的宏,如下所示:
#define APPNAME "MyApp"
const wchar_t *AppProgID = APPNAME L".Document";
然而,这会生成一个“concatenating mismatched strings”编译错误。
有没有一种方法将APPNAME宏转换为宽字符串字面值?
你试过了吗
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
没有宏:
const wchar_t *AppProgID = L"" APPNAME ".Document";