如何在macOS中的旧扩展clang和gcc编译器中初始化数组和向量
How to initialize arrays and vectors in old extension clang and gcc compilers in macOS?
我有一个c++代码。它适用于windows、Ubuntu和Fedora。现在我想为macOS编译它。我遇到了一些错误,比如
error: expected expression
error: variable-sized object may not be initialized
我有很多类似的线路
int A[n][2] = {{2, 5},{2, 6},{3, 4},{3, 7},{4, 3},{5, 2},{6, 2},{7, 3}};
int B[n][2] = {{8, 15},{8, 16},{9, 14},{9, 17},{10, 13},{10, 14},{10, 17},{11, 12},{11, 15},{11, 16},{12, 11},{13, 10},{14, 9},{14, 10},{15, 8},{15, 11},{16, 8},{16, 11},{17, 9},{17, 10}};
我搜索它是因为macOS中安装了旧的clang和gcc扩展(我使用的是Mojave 10.14.0(
我不知道该怎么办才能解决这个问题。
您可以这样定义它们:
int A[][2] = {{2, 5},{2, 6},{3, 4},{3, 7},{4, 3},{5, 2},{6, 2},{7, 3}};
int B[][2] = {{8, 15},{8, 16},{9, 14},{9, 17},{10, 13},{10, 14},{10, 17},{11, 12},{11, 15},{11, 16},{12, 11},{13, 10},{14, 9},{14, 10},{15, 8},{15, 11},{16, 8},{16, 11},{17, 9},{17, 10}};
那么clang
是快乐的。
如果指定n
,则需要确保初始值设定项列表能够适应定义的结构。
相关文章:
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 初始化迭代器错误 C++ 在 GCC 编译器中
- 编译器资源管理器和 GCC 具有不同的输出
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- 交叉编译:特殊的交叉编译器还是只是带有选项 -march 的 gcc?
- #pragma(*诊断)当将Clang分析器与GCC编译器混合时
- 为什么 std::count 比 MSVC 编译器的普通循环慢,但与 GCC 相等?
- 为什么 gcc 编译器标志未知?
- 不同版本的编译器(例如GCC)是否会产生不同的性能?
- 如何使用 GCC 编译器优化创建静态库?
- C++使用旧编译器GCC 4.4.0在结构列表中查找字符串
- Meson选择了错误的编译器(GCC而不是在Clang上)
- 他们实现的开源C编译器(gcc,clang)的实际标准在哪里
- 编译器(GCC)如何处理C 的访问控件
- Netbeans 8.1(适用于 C/C++)找不到我的编译器(gcc-6.0.0 开发版本)
- 如何为在 .props 文件中声明的非本机 VC 编译器 (GCC) 实现 MSBUILD 文件跟踪功能 (跟踪器.ex
- 编译器(gcc)能否保证c ++循环
- 我如何在 Xcode 中使用指定的编译器 GCC-MP-4.7
- 编译器(GCC)交叉编译(对windows)如何在非源目录下构建它
- 如何解释编译系统应该使用哪种编译器(gcc)