我试图为时间格式声明一个 typedef union ,如下所示,在 header 中我有:
typedef union _u_time
{
unsigned long l_time;
struct {
unsigned char :8;
unsigned char HRS;
unsigned char MIN;
unsigned char SEC;
}BYTES;
}u_time;
然后我尝试这样使用它:
void RTC_Set(long date, u_time time)
{
RTC_SetTime(time);
RTC_SetDate(date);
}
编译项目没有问题。我正在使用瑞萨电子基于 Eclipse 的 E2Studio IDE,问题是 u_time 未在我的 *.c 文件中解析,并且我无法使用自动完成功能,这是 Eclipse 的一大优势...
我发现解决所有链接和自动完成工作的唯一方法是在函数原型(prototype)中添加 union ,如下所示:
void RTC_Set(long date, union u_time time)
{
RTC_SetTime(time);
RTC_SetDate(date);
}
有什么想法吗?
最佳答案
我解决了我的问题! 我必须使用我不知道的 Eclipse 功能!
在项目资源管理器中左键单击该项目 索引 -> 重建
现在自动完成功能正常,并且没有关于此问题的错误。
关于c - C 中的 typedef union 和 eclipse 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19250574/