C ++错误:在'{'标记之前,不允许使用括号括起的初始值设定项

时间:2015-08-11 23:01:50

标签: c++ arrays compilation

简单问题:

我试图在C ++类声明中初始化一个数组:

using namespace std;
#include <string>
class myClass{
public:
  string myArray[] = {"a","b","c"};
};

我收到了错误:

错误:在'{'标记

之前,不允许使用括号括起的初始值设定项

2 个答案:

答案 0 :(得分:3)

不,如果没有编译的C ++ 11编译器,则无法在其声明中初始化成员数组。您必须在构造函数中初始化数组成员。如果您知道初始化数组的元素数量,请不要使用开放数组。

答案 1 :(得分:-1)

真正的问题是,如果没有绑定,可能无法声明非静态数组数据成员。在块作用域或命名空间作用域中,初始化程序将用于推断大小,但不能用于类范围。所以只需将其更改为:

string myArray[3] = {"a","b","c"};

它应该没问题。