【发布时间】:2013-10-15 01:27:07
【问题描述】:
我的项目中有两个数组。一种是静态 const 类型,在不同项目中包含或多或少的条目,例如
static const array_A[] = { ... };
我不喜欢array_A[N] = { ... } 的风格,因为我不想手动计算数组的长度。
还有一个数组B,要求长度和A一样。
一些编译器(如armcc)支持以下技巧
const int N = sizeof(array_A) / sizeof(array_A[0])
static const array_B[N];
但是这个技巧在 gcc 编译器上失败了。那么还有其他简单的方法吗?
【问题讨论】:
-
失败是什么意思?很明显works for me.
-
您在两个数组声明中都缺少类型名称。
-
@ZacWrangler,他标记了 C,而不是 c++。 C 中的代码使用 clang 编译,而不是 gcc。