【发布时间】:2012-05-27 08:55:43
【问题描述】:
相关但不完全重复,因为它讨论了 C++:
can we give size of static array a variable
我在其中一个子文件中定义了一个数组,如下所示。
static int arr[siz];
这里siz 是子文件可用的全局变量。但是 gcc 编译器会产生以下错误:
<filename>: <line_num> : error : storage size of ‘arr’ isn’t constant
为什么我不能定义一个可变大小的static 数组?
编辑:这似乎只是static int 类型的问题。如果我将arr 的变量类型从static int 更改为int,即使数组的大小仍然依赖于变量siz,错误也会消失。
【问题讨论】: