ccs3.3编译问题

2019-03-26 17:02发布

我在exvarialbe.h中定义了一个联合体: union uint16 {   struct          {   unsigned b15: 1;              ...             ...             unsigned b0: 1;         }onebit;       unsigned int allbit; }FunEnable;   在Timer.h 中声明这个变量 extern union uint16 FunEnable;   然后在timer.c中使用这个变量 #include timer.h ... ... FunEnable.onebit.b0=1;   编译时出错, 说是“FunEnable.onebit.b0=1;” 这句 incomplete type is not allowed, 请教这个是什么原因? 这样定义没有错误啊。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
kata
1楼-- · 2019-03-27 01:40
< FunEnable.onebit.b0=1; //这么写看行不行。
鸡鸡
2楼-- · 2019-03-27 02:24
<
wonderglass
3楼-- · 2019-03-27 07:51
那句赋值语句没有问题。在timer.h中联合体声明改成下面这样就可以了,不明白为什么声明变量还要把变量的定义重新抄一遍,哪位前辈知道指点下啊。
extern union uint16
{   struct
         {   unsigned b15: 1;
             ...
            ...
            unsigned b0: 1;
        }onebit;
      unsigned int allbit;
}FunEnable;
wonderglass
4楼-- · 2019-03-27 07:58
 精彩回答 2  元偷偷看……
cocow
5楼-- · 2019-03-27 13:03
 精彩回答 2  元偷偷看……

一周热门 更多>