首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

下面这个宏定义的异常在哪里

2013-11-29 
下面这个宏定义的错误在哪里编译器VS2008,操作系统xp这个宏这么写编译可以(把整个宏定义写在一行里)#defin

下面这个宏定义的错误在哪里
编译器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行)
请问原因何在


[解决办法]
续行符\后面不能有空格。

引用:
编译器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行)
请问原因何在

热点排行