struct mit Array?



  • Hallo,

    ich versuche folgendes Struct aufzubauen und zu benutzen:

    struct myStruct {
        int row;
        int col;
        int offset[]; //das soll ein array werden
    }
    

    hier die benutzung:

    struct myStruct cc;
    cc.offset[2] = 9;
    

    ich versteh nicht ganz warums so einen segmentation fault gibt. Wohl weil das array statisch ist und ich zuerst keine grösse festgelegt habe? aber wie kann ich dann eine grösse erst im nachhinein festlegen?

    was ich brauche ist eigentlich ganz einfach:
    einfach nur ein array im struct welches dynamisch sein soll. Wird wohl besser sein einne vector zu benutzen. Aber auch mit vector gehts net....
    muss ich evtl. den INdexOperator überladen ?

    Danke euch



  • #define SIZE 5
    
    struct myStruct {
        int row;
        int col;
        int *offset; //das soll ein array werden
    }
    
    struct myStruct cc;
    cc.offset = new int[SIZE];
    cc.offset[2] = 9;
    

    ich denke mal so sollte es gehen



  • [cpp]struct myStruct {
    int row;
    int col;
    int *offset; //das soll ein array werden
    };[/cpp]

    achja das semikolon nicht vergessen 😛



  • Mach noch ein Konstruktor und Destuktor rein, welche die Speichersachen erledigen(anfordern, aufräumen ...).
    Dann isses sauberer 😉


Anmelden zum Antworten