Связанный, но не совсем повторяющийся, поскольку он обсуждает C++:
можем ли мы задать размер статического массива как переменнуюЯ определяю массив в одном из дочерних файлов следующим образом.
static int arr[siz];
Здесь
siz
— глобальная переменная, доступная для дочернего файла. Но компилятор gcc выдает следующую ошибку:
: : error : storage size of ‘arr’ isn’t constant Почему я не могу определить
статический
массив переменного размера?РЕДАКТИРОВАТЬ: Это кажется проблемой только для типа
static int
. Если я изменю тип переменнойarr
сstatic int
наint
, ошибка исчезнет, хотя размер массива по-прежнему зависит от переменнойразмер
.