Klasse mehrfach einbinden



  • Ich habe eine Klasse geschrieben, die ich an mehreren Stellen in meinem Programm benötige. Um eine Mehrfachdeklaration zu verhindern, habe ich die Klassendeklaration in

    #ifndef __MYCLASS_H__
    #define __MYCLASS_H__
    #endif
    

    eingeschlossen. die Klasse funktioniert, solange ich sie nur einmal einbinde problemlos. Erwartet allerdings eine andere Funktion(Prototyp) in einem anderem Header auch meine Klasse als Parameter, dann sagt mir der Compiler "'MyClass' was not declared in this scope". Der andere Header hat folgende Form:

    #include "myclass.h"
    
    void myFunction(myclass *test);
    

    Der Grund warum mir der Compiler diesen Fehler meldet ist mir auch klar: Durch die ifdefs wird die Klassendeklaration an dieser Stelle nicht eingebunden, da sie schoneinmal woanders eingebunden wurde. Wie löse ich das Problem? Entferne ich die ifdefs bekomme ich natürlich einen Fehler wegen Mehrfachdeklaration von der Klasse. 😞

    Danke im voraus!



  • Vorwärtsdeklaration mit

    class DeineKlasse;
    

    enjoy!


Anmelden zum Antworten