打印

位域中变量进行宏定义

[复制链接]
2252|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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;
多了一个“;”

使用特权

评论回复
5
mmax| | 2011-5-24 21:42 | 只看该作者
#define CR_INTFlag   data. CR_INTFlag

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

#define CR_INTFlag   MyData. CR_INTFlag
struct data MyData;

使用特权

评论回复
6
entepino|  楼主 | 2011-5-24 21:45 | 只看该作者
再顶一下。

使用特权

评论回复
7
yewuyi| | 2011-5-25 09:56 | 只看该作者
名称重叠了。

#define CR_INTFlag   data. CR_INTFlag;

CR_INTFlag前后均被引用了,请吧前面的CR_INTFlag改个名字,例如改成如下:
#define CR_INTFLAG   data. CR_INTFlag;

使用特权

评论回复
8
mbutterfly| | 2011-5-25 16:42 | 只看该作者
仅靠大小写区分也不好。查找问题的时候都会跳出来

使用特权

评论回复
9
yewuyi| | 2011-5-25 17:21 | 只看该作者
仅靠大小写区分也不好。查找问题的时候都会跳出来
mbutterfly 发表于 2011-5-25 16:42


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

至于点查找时的问题,你可以选择‘区分大小写’的嘛

使用特权

评论回复
10
entepino|  楼主 | 2011-5-25 20:53 | 只看该作者
好的,谢谢!明天去试试,然后给你分啊。:)

使用特权

评论回复
11
谈的元| | 2011-5-25 21:51 | 只看该作者
#define CR_INTFlag   data. CR_INTFlag;

错误在于:多了上面的分号

使用特权

评论回复
12
yewuyi| | 2011-5-26 08:29 | 只看该作者
#define CR_INTFlag   data. CR_INTFlag;

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


呵呵,确实,首先要去掉分号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

649

帖子

2

粉丝