位域中变量进行宏定义

[复制链接]
 楼主| entepino 发表于 2011-5-24 21:09 | 显示全部楼层 |阅读模式
struct bs
{

unsigned CR_INTFlag:1;


unsigned FU_INTFlag:1;


unsigned Heartbeating:1;

} data
能够这样对位域中变量进行宏定义操作吗?如下:
#define CR_INTFlag   data. CR_INTFlag;
我在IDE中编译不过去,总是提示语法错误,是不是不允许对位域中变量进行宏定义?
mmax 发表于 2011-5-24 21:17 | 显示全部楼层
报什么错?
 楼主| entepino 发表于 2011-5-24 21:23 | 显示全部楼层
好像是syntax error,我在网上也没搜到位域变量能不能进行宏定义操作。
mmax 发表于 2011-5-24 21:38 | 显示全部楼层
syntax error记得好像是字符错了。
是不是
} data;

这个“;”用的逗号,而不是分好呀,呵呵。

或者 #define CR_INTFlag   data. CR_INTFlag;
多了一个“;”
mmax 发表于 2011-5-24 21:42 | 显示全部楼层
#define CR_INTFlag   data. CR_INTFlag

这样好像没有意义,CR_INTFlag引用不了,也定义不了变量。
data本身只是一个声明类型,不是一个变量实体。
所以能被这样定义引用吧。

#define CR_INTFlag   MyData. CR_INTFlag
struct data MyData;
 楼主| entepino 发表于 2011-5-24 21:45 | 显示全部楼层
再顶一下。
yewuyi 发表于 2011-5-25 09:56 | 显示全部楼层
名称重叠了。

#define CR_INTFlag   data. CR_INTFlag;

CR_INTFlag前后均被引用了,请吧前面的CR_INTFlag改个名字,例如改成如下:
#define CR_INTFLAG   data. CR_INTFlag;
mbutterfly 发表于 2011-5-25 16:42 | 显示全部楼层
仅靠大小写区分也不好。查找问题的时候都会跳出来
yewuyi 发表于 2011-5-25 17:21 | 显示全部楼层
仅靠大小写区分也不好。查找问题的时候都会跳出来
mbutterfly 发表于 2011-5-25 16:42


呵呵,俺习惯大小写区分,这样意思相同,比较好记。

至于点查找时的问题,你可以选择‘区分大小写’的嘛
 楼主| entepino 发表于 2011-5-25 20:53 | 显示全部楼层
好的,谢谢!明天去试试,然后给你分啊。:)
谈的元 发表于 2011-5-25 21:51 | 显示全部楼层
#define CR_INTFlag   data. CR_INTFlag;

错误在于:多了上面的分号
yewuyi 发表于 2011-5-26 08:29 | 显示全部楼层
#define CR_INTFlag   data. CR_INTFlag;

错误在于:多了上面的分号
谈的元 发表于 2011-5-25 21:51


呵呵,确实,首先要去掉分号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

213

主题

651

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

213

主题

651

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部