我一辈子都无法弄清楚如何正确地做到这一点。我有一个需要存储一些常量的类(与枚举类型中的值相对应的文本)-我在类中这样声明(公开地):
const static char* enumText[];
我正在尝试像这样初始化它:
const char* MyClass::enumText[] = { "A", "B", "C", "D", "E" };
但是gcc给我以下错误:
'const char * MyClass::enumText []'不是'class MyClass'的静态成员
我究竟做错了什么?谢谢!
最佳答案
此代码编译:
struct X {
static const char* enumtext[];
};
const char* X::enumtext[] = { "A", "B", "C" };
检查您的代码并查找差异。我只能认为您没有在类中定义静态属性,忘记了包含标题或输入了错误的名称。
关于c++ - 初始化字符串的静态数组(C++)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1376264/