c++错误:在'{'标记之前不允许使用大括号括起来的初始化式
C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token
简单问题:
我试图在c++类声明中初始化一个数组:
using namespace std;
#include <string>
class myClass{
public:
string myArray[] = {"a","b","c"};
};
,我得到错误:
错误:在'{'标记
不能,如果没有编译过的c++ 11编译器,就不能在其声明中初始化成员数组。必须在构造函数中初始化数组成员。如果你知道要初始化数组的元素个数,就不要使用open array
真正的问题很简单,非静态数组数据成员不能在没有绑定的情况下声明。在块作用域或命名空间作用域,将使用初始化器来推断大小,但在类作用域则不用。所以把这个改成:
string myArray[3] = {"a","b","c"};
相关文章:
- 是否可以初始化不可复制类型的成员变量(或基类)
- C++使用整数的压缩数组初始化对象
- C++初始化基类
- 多成员Constexpr结构初始化
- Qt并发错误:数组初始化需要大括号括起来的初始值设定项列表
- 从大括号括起来的列表进行数组初始化C++很奇怪
- 从类型为"<大括号括起来的初始值设定项列表>"的类型非常量引用的无效初始化
- 从大括号括起来的初始值设定项列表进行的Lvalue引用初始化无法编译
- 为什么在使用初始化语法时不调用转换运算符,为什么 clang 错误消息看起来是错误的
- 为什么我必须用括号括起来初始化表达式(逗号表达式)?
- 正在使用大括号括起来的初始值设定项列表初始化结构向量
- 用大括号括起来的初始化列表初始化结构体时出错
- c++ 11g++使用大括号括起来的初始化列表
- 多维用大括号括起来的多向量初始化列表
- 是否有可能将统一初始化和构造函数结合起来?
- c++错误:在'{'标记之前不允许使用大括号括起来的初始化式
- 是否可以为容器的容器使用大括号括起来的初始化列表?
- 如何将完全转发与大括号括起来的初始化式结合起来
- 用大括号括起来的初始值设定项列表初始化类
- 导致初始化的类成员变量在方法调用中变为(或看起来)未初始化的原因