(gelöst) Problem mit Enum (Emgu.CV / OpenCV)



  • Hallo.

    Irgendwie stehe ich gerade auf dem Schlauch.
    Ich arbeite gerade mit Emgu.CV ist ein .NET-Wrapper für OpenCV.

    Nun habe ich folegnde Zeile die mir der Compiler ankreidet:

    Emgu::CV::CvEnum::FONT FontType = Emgu::CV::CvEnum::FONT::CV_FONT_HERSHEY_PLAIN;
    

    Die Dokumentation sagt zu diesem Enum folgendes:

    public enum class FONT
    
    Members
    Member                            Description 
    CV_FONT_HERSHEY_SIMPLEX           HERSHEY_SIMPLEX 
    CV_FONT_HERSHEY_PLAIN             HERSHEY_PLAIN 
    CV_FONT_HERSHEY_DUPLEX            HERSHEY_DUPLEX 
    CV_FONT_HERSHEY_COMPLEX           HERSHEY_COMPLEX 
    CV_FONT_HERSHEY_TRIPLEX           HERSHEY_TRIPLEX 
    CV_FONT_HERSHEY_COMPLEX_SMALL     HERSHEY_COMPLEX_SMALL 
    CV_FONT_HERSHEY_SCRIPT_SIMPLEX    HERSHEY_SCRIPT_SIMPLEX 
    CV_FONT_HERSHEY_SCRIPT_COMPLEX    HERSHEY_SCRIPT_COMPLEX
    

    Der Compiler meldet mir nun folgenden Fehler:

    error C2589: 'Konstante': Ungültiges Token auf der rechten Seite von '::'
    

    Ich verstehe nicht so ganz was ich verkehrt gemacht haben soll, ich habe schon mehrere Enums genauso verwendet. Bei keinen der anderen Stellen meckert der Compiler.

    Ich hoffe ihr wisst Rat.
    MfG
    Marco

    EDIT:
    Fehler gefunden. Ich habe den header cv.h der OpenCV-Bibliothek inkludiert, dort gibt es ein

    #define CV_FONT_HERSHEY_PLAIN
    

    Man merke es ist zienlich dumm in Wrappern Klassenmember genauso zu bezeichnen wie defines in der zugrunde liegenden Bibliothek!

    EDIT2:
    Hab den Titelk des Threads geändert damit man den Artikel auch mal per Suche findet 😉


Anmelden zum Antworten