我试图将我的解决方案放在一个静态类中,它的定义如下:
class myDataParser{
private:
public:
struct myData{
struct index {
static int item1,item2,item3,item4;
};
static char delimiter;
};
};
但是当我尝试像这样初始化主程序中的项目时:
myDataParser::myData::delimiter = ';';
myDataParser::myData::index::item1 = 0;
myDataParser::myData::index::item2 = 1;
myDataParser::myData::index::item3 = 2;
myDataParser::myData::index::item4 = 3;
我得到错误:
'item1' in 'struct myDataParser::myData::index' does not name a type
...同样适用于定界符和 item2-4,我做错了什么?我将如何正确设置这些成员?
最佳答案
前缀数据类型 char
, int
等定义静态成员:-
char myDataParser::myData::delimiter = ';';
~~~
int myDataParser::myData::index::item1 = 0;
~~~
//....
关于C++ static struct init - 项目没有命名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870810/