ISO C90 запрещает массив переменной длины
Я динамически вычисляю размер массива. Что-то вроде:
<code>void foo(size_t limit) { char buffer[limit * 14 + 1]; } </code>
Но только компилятор GCC говорит:
<code>error: ISO C90 forbids variable length array ‘buffer’ </code>
в поисках ТАК я нашелэтот ответ:
C99 §6.7.5.2:
If the size is an expression that is not an integer constant expression... ...each time it is evaluated it shall have a value greater than zero.
Итак, я сделал повторное объявление переменной типа ограничения размера:
<code>void foo(const size_t limit) </code>
Но он продолжает предупреждать меня. Это ошибка GCC?