-4

我正在编写一个模拟器并决定在一个结构中控制输入/输出模拟:

struct callbacks
{
short LastFrequency = 9000;
 int *MMIO_RANGE1;
 short Cycle_LN = 65535 / LastFrequency;
 const char *STATUS_FLAGS[] =
 {
   "ACK",
   "NO_VIB",
   "DATA",
   "BYTEPACK",
   "WORDPACK"
 };
}

上面的代码对我来说看起来不错,并且似乎遵守所有规则......但我收到了上面标题中所述的错误消息。我四处搜索,人们说这个错误意味着不同的东西......但它是什么?

问题指向“LastFrequency”。

4

1 回答 1

4

两件事:添加一个5和一个;

另外:确保使用-std=c++11(或-std=c++0x针对较旧的 g++ 版本,或您选择的编译器的等效选项)进行编译,因为类内初始化程序是 C++11 特性

大警告: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() 
{

}

活生生的例子

于 2014-07-28T19:17:46.933 回答