error C2017: 非法的转义序列

birdinsky_ 2012-11-07 10:20:31
#define UGPCOLOR_ARGB(a,r,g,b) ((unsigned long)((((a)&0xff)<<24)|\
(((r)&0xff)<<16)|(((g)&0xff)<<8)|\
((b)&0xff)))

定义了如上的宏之后,每次调用下面的代码就会出现,error C2017: 非法的转义序列。
UGPCOLOR_ARGB(255,255,255,255)
...全文
1561 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Binzo 2012-11-10
  • 打赏
  • 举报
回复
好多括号,看不清了。
#define UGPCOLOR_ARGB(a, r, g, b) (unsigned long)(((a&0xff) << 24) | \
                ((r&0xff) << 16) | ((g&0xff) << 8) | \
                ((b&0xff) << 0))
copy下上面的code,看还错不错。
十八道胡同 2012-11-09
  • 打赏
  • 举报
回复
引用 9 楼 birdinsky_ 的回复:
续行符。。。以前怎么没听说啊 是哪儿的概念
可以baidu下,一般在宏里用的多
birdinsky_ 2012-11-09
  • 打赏
  • 举报
回复
续行符。。。以前怎么没听说啊 是哪儿的概念
birdinsky_ 2012-11-08
  • 打赏
  • 举报
回复
嗯 今天我也试了下 但 我还想再问下 写成一行为什么不行呢?
#define UGPCOLOR_ARGB(a,r,g,b) ((unsigned long)((((a)&0xff)<<24)|\(((r)&0xff)<<16)|(((g)&0xff)<<8)|\((b)&0xff)))
这样“\”后边也没空格跟TAB了但是还是出错呢
JiMoKuangXiangQu 2012-11-08
  • 打赏
  • 举报
回复
另外,如果宏里面想加空行,空行也要加\结束,像这样: #deine MACRO_WITH_BLANK_LINE(x, y) \ x = (y); \ /* a blank line */ \ x += (y)
JiMoKuangXiangQu 2012-11-08
  • 打赏
  • 举报
回复
每行最后的'\'字符后面不能有空格或者TAB,不是前面.
赵4老师 2012-11-08
  • 打赏
  • 举报
回复
所以写成一行时应将\删掉。
赵4老师 2012-11-08
  • 打赏
  • 举报
回复
\出现在行尾时是续行符,不在行尾时是转义符 续行符和转义符不是一回事!
birdinsky_ 2012-11-07
  • 打赏
  • 举报
回复
是‘\’不能有空格或TAB,还是要有? 写成这样
#define UGPCOLOR_ARGB(a,r,g,b) ((unsigned long)((((a)&0xff)<<24)|\
                                (((r)&0xff)<<16)|(((g)&0xff)<<8)|\
                                ((b)&0xff)))
难道'\'后面没有空格和TAB了?第二行 第三行前面空了那么多不算么?
JiMoKuangXiangQu 2012-11-07
  • 打赏
  • 举报
回复
说错了,是空格和Tab,而不是Table,呵呵
JiMoKuangXiangQu 2012-11-07
  • 打赏
  • 举报
回复
以下代码编译通过. 检查\后面是否存在空格或者Table.
#define UGPCOLOR_ARGB(a,r,g,b) ((unsigned long)((((a)&0xff)<<24)|\
								(((r)&0xff)<<16)|(((g)&0xff)<<8)|\
								((b)&0xff)))

int main(void)
{
	UGPCOLOR_ARGB(255,255,255,255);
	return 0;
}

65,170

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧