Tamanho da matriz C ++ dependente do parâmetro de função causa erros de compilação
Eu tenho uma função simples na qual uma matriz é declarada com tamanho, dependendo do parâmetro que é int.
void f(int n){
char a[n];
};
int main() {
return 0;
}
Este pedaço de código compila bem emGNU C ++, mas não no MSVC 2005.
Eu recebo os seguintes erros de compilação:
.\main.cpp(4) : error C2057: expected constant expression
.\main.cpp(4) : error C2466: cannot allocate an array of constant size 0
.\main.cpp(4) : error C2133: 'a' : unknown size
O que posso fazer para corrigir isso?
(Estou interessado em fazer isso funcionar com o MSVC, sem usar new / delete)