C ++ - Arraygröße abhängig vom Funktionsparameter verursacht Kompilierungsfehler
Ich habe eine einfache Funktion, in der ein Array in Abhängigkeit vom Parameter int mit size deklariert wird.
void f(int n){
char a[n];
};
int main() {
return 0;
}
Dieses Stück Code kompiliert gut aufGNU C ++, aber nicht bei MSVC 2005.
Ich erhalte die folgenden Kompilierungsfehler:
.\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
Was kann ich tun, um das zu korrigieren?
(Ich möchte, dass dies mit MSVC funktioniert, ohne new / delete zu verwenden.)