简单问题:
我试图在C ++类声明中初始化一个数组:
using namespace std;
#include <string>
class myClass{
public:
string myArray[] = {"a","b","c"};
};
我收到了错误:
错误:在'{'标记
之前,不允许使用括号括起的初始值设定项答案 0 :(得分:3)
不,如果没有编译的C ++ 11编译器,则无法在其声明中初始化成员数组。您必须在构造函数中初始化数组成员。如果您知道初始化数组的元素数量,请不要使用开放数组。
答案 1 :(得分:-1)
真正的问题是,如果没有绑定,可能无法声明非静态数组数据成员。在块作用域或命名空间作用域中,初始化程序将用于推断大小,但不能用于类范围。所以只需将其更改为:
string myArray[3] = {"a","b","c"};
它应该没问题。