Header inklude reihenfolge



  • dies is nur ein beispiel, in rich.h in eine richedit klasse deklariert

    compiler spuckt hier ne menge irrefuehrende fehler auf richedit.h drin

    // rich.cpp
    #include <richedit.h>
    #include "rich.h"
    
    // hier sind dann die definition meiner richedit klasse
    

    wenn ich aber die reihenfolge der inkludedateien vertausche, dann is es kein problem mehr da. warum is das so??

    muss man immer eigene header zuerst inkluden oder was?

    // rich.cpp
    #include "rich.h"
    #include <richedit.h>
    
    // hier sind dann die definition meiner richedit klasse
    


  • Das liegt daran, dass du was fasch machst. Die Reihenfolge der Header-Dateien sollte nicht relevant sein. Aber ohne konkreten Code kann man da nichts großartig wetier zu sagen.



  • ist das mit dem richedit denn richtig?

    #include "richedit.h"
    


  • richedit ist doch WinAPI.
    Und sobald Windows im Spiel ist, spielt die Reihenfolge der Header doch öfters eine Rolle.
    Das Warum kann dir jemand anders sicher besser erklären 😃

    Ich vermute das die Header der Reihenfolge nach abgearbeitet werden und das Windows "ältere" Funktionen mit teilweise gleichnamigen, aber anderen Aufrufkonventionen folgenden, "bevorzugt" ersetzen will.



  • Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ich hab das problem jez, weil in richedit.h die windows.h nicht eingebunden hat, dann sind auch die win32 datentypen wie LONG usw unbekannt, aber ich frage mich warum richedit.h die windows.h header nicht drin hat, oder warum windows.h richedit.h nicht einbindet. 😕



  • Was hast du vor?
    Du willst richedit-Funktionen nutzen oder?

    Dann schreibe/kopiere mal alle Header wie die in deinem Quelltext stehen, damit wir nicht bei Kleinigkeiten schon aneinander vorbei schreiben.



  • f.-th. schrieb:

    Was hast du vor?
    Du willst richedit-Funktionen nutzen oder?

    Dann schreibe/kopiere mal alle Header wie die in deinem Quelltext stehen, damit wir nicht bei Kleinigkeiten schon aneinander vorbei schreiben.

    danke fuer hilfe, ich hab es jez geloest wo es lag


  • Mod

    Wenn nicht defintiv anders gesagt genügt es immer die windows.h zu includen.
    bzw. die commctrl.h wenn das Windows RTF Control benutzt wird.

    Ansonsten musst Du uns schon sagen was für Fehler ausgeben werden.


Anmelden zum Antworten