C++ static struct init - 项目没有命名类型

标签 c++ struct static initialization

我试图将我的解决方案放在一个静态类中,它的定义如下:

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/

相关文章:

php - 围绕 static::in PHP 5.3.3 的可能的 PHP 错误

java - 如何正确访问静态成员类?

c++ - 为什么没有目录时S_ISDIR()指示目录?

c - 将逗号分隔的文本文件读入结构 C

c - 如何在编译时获取初始化列表中的元素总数?

C# 值类型类模板

Django - 服务和管理静态内容的权限

c++ - 是否有可能看到 C++ 中返回的值?

编译时的 C++ 类型标识

c++ - 静态函数编译器优化 C++