Typ wurde nicht deklariert obwohl schon



  • Hallo,

    ich versteh überhaupt nicht woran mein Problem liegen kann. Da ich etwas mehr code habe habe ich ein Minimalbeispiel mir erstellt bei dem alles problemlos funktioniert. In meinem gesamtcode allerdings nicht.

    Ich habe folgende struktur:

    #include "My_Type.h"
    
    template <class T>
    MyClass : Base_Class
    {
    
         public:
                My_Type*  to_My_Type(Other_Type* ot);
    };
    

    und es kommt die Fehlermeldung:

    MyClass.h:8: Fehler: »My_Type« wurde nicht deklariert
    

    Wie kann das sein? Ich habe doch den Header eingebunden....

    Da mein externes Minimalbeispiel probelmlos funktioniert weiß ich überhaupt nicht mehr was ich tun kann bzw. wo mein fehler liegt? Habt ihr Iddeeen?

    Danke



  • hmm seltsam...anscheinend irgendwie zyklische includes drin gehabt - aber ich hab überall include-guards....die müssen da doch greifen oder nicht?


  • Administrator

    uffob schrieb:

    hmm seltsam...anscheinend irgendwie zyklische includes drin gehabt - aber ich hab überall include-guards....die müssen da doch greifen oder nicht?

    Nein, Include-Guards helfen nur mit, um die doppelte Definition zu verhindern. Sie verhindern schliesslich das doppelte Inkludieren des gleichen Headers. Bei zyklischen Includes helfen sie nicht.

    Grüssli



  • Erstmal auf korrekte Syntax achten...



  • schreib ma vor deine klasse das hier:

    class My_Type;

    template class blablabla...


Anmelden zum Antworten