enum in andere h Datei fortsetzen



  • Hallo zusammen,

    wie kann ich folgendes erreichen:

    A.h:

    enum TYPEN {
     A,
     B,
     C
    }
    

    B.h

    #include "A.h"
    enum TYPEN {
     D,
     E, 
     F
    }
    

    C.c

    #include "B.h"
    [...]
    switch(type){
       case A: ....
       case B: ....
       case C: ....
       case D: ....
    }
    

    Geht das überhaupt? Also ich möchte eine enum-Definition sozusagen fortsetzen. Im moment bekomme ich Fehler: mehrfache Definition ...

    Jemand nen Tip?

    Danke.
    Uwe



  • ja: nenn die enums einfach anders... zum Beispiel TYPEN_A, TYPEN_B, ...
    um auf die Konstanten zuzugreifen musst du ja den Namen nicht mit angeben.



  • daersc schrieb:

    ja: nenn die enums einfach anders... zum Beispiel TYPEN_A, TYPEN_B, ...

    Na das sind dann aber auch zwei verschiedene Enums, bei denen man selber darauf achten muss, dass die Konstanten darin unterschiedlich sind. Da kann man auch gleich Präprozessor-#defines verwenden.

    "Verteilte" enum-Deklarationen gibt es also nicht. Konstanten, die paarweise verschieden sein müssen, schreibt man am besten zusammen in eine einzelne Header-Datei (egal ob als ein enum, mehrere enums oder #defines).



  • ok verstanden. schade, aber dann ist es halt so 🙂


Anmelden zum Antworten