VS2008 Fehler erwartet Konstante Ausdruck zur Deklaration von array -, aber kein Fehler für Sie diesen code in GCC

Habe ich folgende Funktion

 void someFun(int* ar, const int size) {
      int newAr[size];
      //do something 
 }

Und ich bekomme für diese Zeile drei Fehler:

Error   1   error C2057: expected constant expression   
Error   2   error C2466: cannot allocate an array of constant size 0    
Error   3   error C2133: 'newAr' : unknown size 

Aber var Größe ist konstant! Und mit gcc kompiliert, ohne Fehler. Können Sie mir sagen, was und warum falsch ist, hier für vs2008(oder für Visual C++ im Allgemeinen vielleicht)? Vielen Dank im Voraus.

  • Um Ihre Frage zu beantworten, es ist eine compiler-Erweiterung, bis C++14 wird standardisiert.
InformationsquelleAutor Hate | 2013-07-03
Schreibe einen Kommentar