gcc жалуется на это:
#include <stdio.h>
static const int YY = 1024;
extern int main(int argc, char*argv[])
{
static char x[YY];
}
$gcc -c test1.c
test1.c: Функция main':
test1.c:5: error: storage size of
x 'не является постоянной
test1.c: 5: ошибка: размер переменной `x 'слишком велик
Удалите "статический" из определения x, и все будет хорошо.
Я не совсем понимаю, что происходит здесь: конечно, YY постоянна?
Я всегда считал, что подход "static const" предпочтительнее "#define". Есть ли способ использования "static const" в этой ситуации?