我正在编写模拟器并决定在结构中控制输入/输出仿真:
struct callbacks
{
short LastFrequency = 9000;
int *MMIO_RANGE1;
short Cycle_LN = 65535 / LastFrequency;
const char *STATUS_FLAGS[] =
{
"ACK",
"NO_VIB",
"DATA",
"BYTEPACK",
"WORDPACK"
};
}
上面的代码看起来很好,似乎遵守所有规则......但我收到上面标题中所述的错误消息。我四处搜索,人们说错误意味着不同的东西......但是它是什么?
问题指向“LastFrequency”。
答案 0 :(得分:4)
两件事:添加5
和;
另外:确保使用-std=c++11
编译(或-std=c++0x
用于较旧的g ++版本,或选择的编译器的等效选项),因为类内初始值设定项是C + +11功能。
BIG警告:此代码为NOT supported by gcc 4.6,需要gcc> = 4.7.3
struct callbacks
{
short LastFrequency = 9000;
int *MMIO_RANGE1;
short Cycle_LN = 65535 / LastFrequency;
const char *STATUS_FLAGS[5] = // <-- 5 here
{
"ACK",
"NO_VIB",
"DATA",
"BYTEPACK",
"WORDPACK"
};
}; // <-- ; here
int main()
{
}