多维数组缺少大括号
Missing braces for multi-dimensional arrays
本文关键字:数组 更新时间:2023-10-16
当我在Visual Studio中为Android共享库构建项目时,我收到了下面的警告信息。
warning : suggest braces around initialization of subobject
[-Wmissing-braces]
该消息表示数组初始化语句只使用一对大括号。
int myArray[ROW][COL] = { 1, 2, 3, 4, 5, 6, ..., 451, 452, 453 };
我不能用两对来写的原因是将来ROW和COL的大小可能会改变。
它工作得很好,但我不确定是否可以这样离开项目,因为我从来没有见过这样的警告信息,当为Windows应用程序编写代码时。
我一定要认真对待吗?
您所拥有的是通过大括号省略的聚合初始化,您完全可以,代码是标准兼容的。
从cppreference.com:
如果聚合初始化使用带有等号的形式(T= {args..}),(直到c++ 14)嵌套初始化器列表周围的大括号可以省略(省略),在这种情况下,许多初始化器都可以省略的每个成员或元素初始化相应的子聚合,以及随后的初始化子句用于初始化对象的以下成员。然而,如果对象有一个没有任何成员的子聚合(一个空的结构(或只包含静态成员的结构),大括号省略则不是允许,并且必须使用空嵌套列表{}。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '