我一辈子都无法弄清楚如何正确地做到这一点。我有一个需要存储一些常量的类(与枚举类型中的值相对应的文本)-我在类中这样声明(公开地):

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/

10-09 08:56