DynamicArray<struct> in 2.unit verwenden



  • Nachdem ich das extern struct problem mit einer einfachen struct gelöst habe stellt sich eine neue frage:
    ich habe ein DynamicArray mit einer Struc deklariert. Nun möchte ich dieses DynamicArray in einer 2. Unit verwenden.
    meine versuche sehen wie folgt aus:

    unit1.h
    
    struct libdaten {
           string reffeld;
           string bezeichnung;
    
           int numberoftest;
           }  ;
    
    DynamicArray<libdaten> lib;
    
    unit2.h
    
    extern DynamicArray<struct libdaten> lib;
    
    unit2.cpp
    
        lib[lib.High].reffeld = "compref";
    

    <- hier meldet der compiler das reffeld kein teil kein element von libdaten ist

    wenn ich das struct in unit2.h weg lasse kommt undefiniertes symbol "libdaten"
    irgendwie gelingt es mir nicht die struct definition da rein zu bekommen.

    Wer hat eine grandiose idee??

    nun packmers wieder 🙄



  • hmm... ich würde das von grundauf etwas anders gestalten:

    unit1.h
    struct libdaten {
    // ...
    };
    
    typedef DynamicArray<struct libdaten> type_lib;
    
    unit2.h
    
    #include "unit1.h"
    type_lib lib;
    
    unit2.cpp
    
    #include "unit2.h"
    lib[lib.High].reffeld = "compref";
    

    Hab' jetzt aber nicht getestet, ob das so funktioniert...



  • bin nach allen seiten offen - ohne auszulaufen 😉
    werds mal testen
    Danke
    nun packmers wieder...



  • Prinzipiel funktioniert die deklaration, jedoch mault der compiler mir die deklaration in unit2 an, wenn ich versuche
    extern davor zu schreiben.
    Dann meint er "type_lib" wäre mehrfach deklariert.
    Ich deklariere da doch gar nichts 😮

    Ich möchte doch nur in 2 units aufs gleiche array zugreifen, schnieefff - warum ist das so kompliziert??????

    packmers... aber mit hängenden kopf


Anmelden zum Antworten