structur mit new erzeugen



  • ich habe eine struktur definiert und wollte speicher mit new für sie erzeugen.
    typedef struct statStruc
    {
    .
    .
    .
    }struktur;

    struktur *st = new struktur;
    compelierungsfehler gab es keine, aber beim testen gab es dann segmentation faults. warum geht das so nicht?



  • Das geht so, der Segfault muss durch was anderes verursacht worden sein. BTW ist es in C++ nicht nötig, für jede struct ein typedef anzulegen:

    struct Struktur {
      // ...
    };
    ...
    Struktur *s = new Struktur;
    


  • das ist merkwürdig. wenn ich die structur statisch erzeuge gibt es keine probleme. das problem läßt sich auch umgehen, wenn ich die zeilen umsortiere.



  • Das muss ja nicht heißen, dass es am new liegt. Wahrscheinlich schreibst du irgendwo über eine Arraygrenze hinaus oder machst sonstigen Unfug.


Anmelden zum Antworten