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];
    

Anmelden zum Antworten