header includen mit Präprozessorschleife



  • Hallo Leute

    Ich habe Probleme mit headern die ich doppelt includet habe. Jetzt habe ich gehört das man bei den #präprozessorangaben eine schleife/bedingung angeben kann die besagt:

    Wenn header.h schon includet dann überspringe diesen, anderenfalls include ihn.

    aber wie ist die Syntax dazu?

    im Moment steht bei mir das:

    #include header.h
    #include header_2.h

    Wobei header_2.h schon includet wurde und somit mit "der anweisung die eich suche"
    ausgeschlossen wird.

    danke schon mal :p 🙄



  • Dazu verwendet man sogenannte IncludeGuards.
    Dazu schreibst du einfach in die Headerdateien folgendes:

    #ifndef DATEINAME_HEADER
    #define DATEINAME_HEADER
    
    //Hier steht der eigentlich Header
    
    #endif
    

    Je nach Compiler erreichtst du mit der Präprozessordirektive
    #pragma once das Gleiche.



  • danke...das ging.


Log in to reply