Initialisierung des Arrays funktioniert nicht



  • Hallo Leute,
    ich versuche ein zwei-Dimensionales Array zu initialisieren. Da ich erst zur Laufzeit die Anzahl ermitteln kann, habe ich es wie folgt probiert:

    // Array erzeugen
    			DataModule1->DSet_Eduktart->Last();
    			int y = DataModule1->DSet_Eduktart->RecordCount;
    			AnsiString Arr_Eduktart[2][y];
    

    y hat an dieser Stelle den Wert 9. Ich bekomme aber immer die Meldung "...E2313 Konstantenausdruck erforderlich"

    Was mache ich falsch 😕



  • Du missachtest, was Dir der Compiler sagt!!!

    "E2313 Konstantenausdruck erforderlich", das bedeutet nun mal, keine variablen Ramapeter erlaubt. Die Anzahl muss zur Compilier- Zeit bekannt sein!

    Gruss
    Frank



  • Hallo

    Die Ursache der Fehlermeldung hat Altenburger schon genannt. Die Lösung wäre eine dynamische Reservierung des Array-Speichers mit new, oder besser noch std::vector zu benutzen.

    bis bald
    akari



  • OK, ich werde es mal mit der dyn. Reservierung probieren.

    Vielen Dank euch beiden 👍


Anmelden zum Antworten