Размер массива C ++, зависящий от параметра функции, вызывает ошибки компиляции
У меня есть простая функция, в которой массив объявляется с размером в зависимости от параметра, который является INT.
void f(int n){
char a[n];
};
int main() {
return 0;
}
Этот кусок кода прекрасно компилируется наGNU C ++, но не на MSVC 2005.
Я получаю следующие ошибки компиляции:
.\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
Что я могу сделать, чтобы исправить это?
(Я заинтересован в том, чтобы сделать эту работу с MSVC, без использования new / delete)