在KEIL4定义结构体,引用的时候报错

2020-01-18 18:47发布

在disp.h里面定义了这样的结构体
typedef struct
{
            unsigned int MultiDispMsCount; //累积时间
        unsigned int ChangeTimeCount;
            unsigned char LedComNum        ;
            unsigned char ScanT;
        unsigned int WaitDispCount;  
        unsigned char DataBufLeft[2];  //左边数码管数据缓存
        unsigned char DataBufRight[2]; //右边数码管数据缓存      
        unsigned int  ModeChangeTimeCount;
}SYS_TASK_DISP_FORMAT;

extern SYS_TASK_DISP_FORMAT Disp;  

然后在disp_function.c里面调用了这个disp.h文件,
并且做了这样的声明SYS_TASK_DISP_FORMAT Disp;
Disp.DataBufLeft[0]为什么这样引用会报错,,,但是我同意的写法用IAR编译就不会报错,得到的就是正确的结果
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
Eiman
1楼-- · 2020-01-18 21:20
我有强迫症,开头空格数不一样,随便留空格看的不爽
sunplus
2楼-- · 2020-01-19 00:33
等待高手解答
lw2012
3楼-- · 2020-01-19 02:55
 精彩回答 2  元偷偷看……
北冥绝云
4楼-- · 2020-01-19 06:35
报错的信息为什么不发?另外头文件里应该只留下声明,包含定义的话会在包含这个头文件的模块里都定义了这个变量,不同模块对应不同的地址单元。
jia_xuan
5楼-- · 2020-01-19 11:07
extern struct SYS_TASK_DISP_FORMAT Disp;  试试
Lu.Shi
6楼-- · 2020-01-19 13:09
同样表示疑惑,在IAR里面确实没有报错,在MPLAB里面同样也会报错

一周热门 更多>