相关但不完全重复,因为它讨论了 C++:
我们可以给静态数组的大小一个变量吗
我在其中一个子文件中定义一个数组,如下所示。
static int arr[siz];
这siz
是子文件可用的全局变量。但是 gcc 编译器会产生以下错误:
<filename>: <line_num> : error : storage size of ‘arr’ isn’t constant
为什么我不能定义一个static
可变大小的数组?
编辑:这似乎只是static int
类型的问题。如果我将变量类型arr
from更改为static int
to int
,错误就会消失,即使数组的大小仍然取决于 variable siz
。