我已经设法初始化正确的任何基本类型的变量(即int,char,float等),但是当声明一个复杂的变量时,所有我能看到的都是错误。如何在C++中初始化一个静态结构?
在头文件timer.hi编译.cpp文件时声明
class AndroidTimerConcept {
...
private:
//struct that holds the necessary info for every event
struct Resources{
timer_delegate_t membFunct;
void *data;
int size;
millis_t time;
};
//declaring an array of 10 Resources structs
static struct Resources ResData;
static int best;
...
}
的timer.cpp文件
#include <iostream>
#include "timer.h"
using namespace std;
int AndroidTimerModel::best=1000;
struct Resources AndroidTimerModel::ResData.size; //line 17!!
//constructor that initializes all the necessary variables
AndroidTimerModel::AndroidTimerModel()
{
signal(SIGALRM,signalHandler);
for(int i=0; i<MAX_EVENTS; i++)
{
//ResData.data=NULL;
ResData.size=-1;
//ResData.time=-1;
}
best=1000;
}
内我得到的错误: timer.cpp:7:错误:'。'之前的预期初始化器令牌
任何建议都会非常有帮助。
顺便说一句,我使用G ++
你的链接不再工作,虽然你的答案仍然存在对有同样问题的人有价值。你能更新它吗? – VisorZ 2016-09-16 08:07:47
我更新了一个不太可能腐烂的链接,并且在这个问题中包含了一个摘录。 – BeeOnRope 2016-09-19 16:42:49