Arrays variabler Größe in VC++ und Dev-C++
-
Hallo
Ich brauchte gestern ein Array, dessen Größe von einer Variable abhängt. Also etwa
int M = 10; double Feld[M];
Habe das (so ähnlich ;)) in Visual C++ 7 programmiert und es kam (wie erwartet) die Fehlermeldung: "error C2057: Konstante Größe erwartet." Habe das ganze dann mit einem Vector gemacht, weil ich von diesem Problem in C++ schon mal gehört hatte.
Aber jetzt kommts: In der Uni haben wir Blodshed Dev-C++ und da funktioniert der obige Code tadellos. Das hat also kein Problem mit variabler Array-Größe.
Woher kommt das? ist der Microsoft Compiler schlechter oder wie?Viele Grüße,
Marco
-
Jop, der Compiler/IDE ist der letzte Mi**.
Sattel auf einen vernünftigen wie Visual Studio 2008 Express oder Code::Blocks um.
Ok manche Compiler akzeptieren diesen Syntax, aber wenn es um dynamischer Array geht würde ich immer empfehlen den Speicher entweder per new anzufordern oder einen äquvivalenten Container(wie std::vector<T>) zu nutzen.
-
#include <vector> std::vector<int> Feld;
-
Marcoo schrieb:
Aber jetzt kommts: In der Uni haben wir Blodshed Dev-C++ und da funktioniert der obige Code tadellos. Das hat also kein Problem mit variabler Array-Größe.
Woher kommt das? ist der Microsoft Compiler schlechter oder wie?Wenn du C machst: Ja, der MS Compiler ist schlechter
Wenn du C++ machst: Nein, die gcc kann sogenannte "variable length arrays" auch im C++-Modus, was aber non-standard ist.
-
int M = 10; int* array = new int[M];