如何将字符串或wstring传递给宏并在宏中打印字符串 我在下面试了一下
#define JUMP_ON_FAILURE_MSG( ErrorCode , Text ) GET_ERROR( ErrorCode, #Text )
#define GET_ERROR( ErrorCode, Text) \
{ \
if (ErrorCode < 0) \
{ \
wprintf(L"Error :%s :[%d]", #Text , error_code); \
} \
}
上面的宏不能打印出正确的输出
Error :??????????? :[-5200]
文字无法打印
我在代码上面调用
JUMP_ON_FAILURE_MSG(-5200,L"Print error msg");
or
JUMP_ON_FAILURE_MSG(-5200,"Print error msg");
请帮忙
答案 0 :(得分:0)
正如其他人已经在评论中指出的那样,你必须写
#define JUMP_ON_FAILURE_MSG( ErrorCode , Text ) GET_ERROR( ErrorCode, Text )
例如。没有#
。
有关详细信息,请参阅here。