下面这个宏定义的异常在哪里
发布时间: 2013-11-29 00:21:24 作者: rapoo
下面这个宏定义的错误在哪里
编译器VS2008,操作系统xp
这个宏这么写编译可以(把整个宏定义写在一行里)
#define compab_mask(val,shift) { value |= ((unsigned int)(*center - (val) - 1) & 0x80000000) >> (31-shift); }
但是我只是整理了一下格式,就不对了
#define compab_mask(val,shift) \
{ \
value |= ((unsigned int)(*center - (val) - 1) & 0x80000000) >> (31-shift); \
}
报的错误如下:
error C2449: found '{' at file scope (missing function header?)(对于那个错误的宏的第2行)
error C2017: illegal escape (对应错误的宏定义的第3行)
error C2059: syntax error : '}'(对应错误宏定义的第4行)
请问原因何在
[解决办法]续行符\后面不能有空格。