O ISO C90 proíbe a matriz de comprimento variável
Estou calculando dinamicamente o tamanho de uma matriz. Algo como:
<code>void foo(size_t limit) { char buffer[limit * 14 + 1]; } </code>
Mas apenas o compilador do GCC diz:
<code>error: ISO C90 forbids variable length array ‘buffer’ </code>
pesquisando em SO eu encontreiesta resposta:
C99 §6.7.5.2:
Se o tamanho é uma expressão que não é uma expressão constante inteira ... ... cada vez que é avaliado, ele deve ter um valor maior que zero.
Então, eu fiz a redefinição da variável de tipo de limite de tamanho para:
<code>void foo(const size_t limit) </code>
Mas continua a dar aviso para mim. Isso é um bug do GCC?