编译时Time_t声明问题
time_t declaration issue during compile time
我有一个time_t和Struct tm正在我的代码中使用。我不能像现在这样初始化结构体。如果它在函数中初始化,那么它就可以正常工作。请帮助
#include "time.h"
static struct tm strtime;
struct tm * timeinfo;
time_t startTime;
time_t endTime;
time_t curTime;
time_t candleStartTime;
strtime.tm_hour = 9; //Error here
strtime.tm_min = 15; //Error here
strtime.tm_sec = 00; //Error here
void PrintMarketData(void **args,nsString sPfName)
{
curTime = time (NULL);
timeinfo = localtime (&curTime);
int curYear = timeinfo->tm_year;
int curMonth = timeinfo->tm_mon;
int curDay = timeinfo->tm_mday;
strtime.tm_year = curYear;
strtime.tm_mon = curMonth;
strtime.tm_mday = curDay;
}
对于这三行:
strtime.tm_hour = 9; //Error here
strtime.tm_min = 15; //Error here
strtime.tm_sec = 00; //Error here
你不能像那样在全局作用域中初始化一个全局实例(逐行赋值语句)。这必须在函数内完成:
你可以试试这个:
struct tm strtime = {0, 15, 9};
假设strtime的成员按照tm_sec, tm_min,然后是tm_hour的顺序声明,这可能是可行的。但是我不能保证struct tm
的成员顺序在每个平台上都是标准的。
最好还是显式初始化就像你在main
中看到的那样
相关文章:
- Visual Studio中的函数声明和函数定义问题
- 如何在标头中声明(或定义)函数的问题
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 如何解决这个正向类声明问题
- NetBeans IDE 8.2 C++字符串声明问题
- C++通告声明问题
- 外部变量和数组声明问题C
- 错误C2447,应为声明问题
- 面向C++的main.cpp中的可视化结构声明问题
- C++/CLI转发声明问题
- C++中跨源文件的函数声明问题
- 这个简单(?C++字符串声明问题似乎已经击败了StackExchange
- 前向声明问题:嵌套名称说明符中使用的类型不完整'enums::Category'
- c++数组/指针声明问题
- 编译时Time_t声明问题
- 类声明问题
- 命名空间和前向声明问题
- 成员类声明问题
- QT c++前向声明问题
- C++数组声明问题