【发布时间】:2016-07-07 15:15:31
【问题描述】:
我正在尝试创建一个简单的输入来模拟实时时钟值。我想要代码做的就是计算两个 tm 结构(Time1Start 和 Time1End)之间的时间差。 month, day, year, etc 无关紧要,因为假设这些计算是在同一天完成的。
我认为假设小时和分钟落在 1900 年的第一天是正确的,因为它尚未初始化。
当我尝试操作任一结构时,我会收到警告和几个错误。代码如下:
#include <time.h>
struct tm Time1Start;
Time1Start.tm_hour = 0; //start of day - errors start here (line 38)
Time1Start.tm_min = 0;
struct tm Time1End;
Time1End.tm_hour = 17; //5:XX o'clock
Time1End.tm_min = 30; //5:30
double seconds;
double minutes;
seconds = difftime(mktime(Time1Start), mktime(Time1End));
minutes = seconds / 60;
我收到的错误是:
build.h:38: warning: (374) missing basic type; int assumed
build.h:38: error: (984) type redeclared
build.h:38: error: (1098) conflicting declarations for variable "Time1Start" (build.h:37)
我正在使用X8 compiler 在MPLAB X IDE v3.30 中运行。
请帮助
【问题讨论】:
-
假设这是在
build.h中,(请参阅minimal reproducible example)为什么要在函数之外实例化变量?请注意,不允许在函数之外调用函数。 -
发布的代码是否在函数范围内?
-
请提供minimal reproducible example。显示的 sn-p 无法编译。
标签: c struct embedded mplab time.h