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?

Ответы на вопрос(6)

Ваш ответ на вопрос