Frage zu include-Direktive
-
Hallo,
ich habe eine simple Frage zur #include-Direktive in C++.
Ich glaube einen Denkfehler zu machen, denn folgende Tatsache ist mir bezüglich inkludierte Headerdateien nicht klar:Wenn ich in einer Hauptquelldatei windows.h inkludiere, und dem Projekt eine Klasse hinzufüge deren Header nach windows.h inkludiert wird, so kann ich die Datentypen der windows.h nicht in meiner Klasse nutzen. Ich muss dort nochmals die windows.h inkludieren. Ist das der Normalfall, oder mache ich etwas falsch? Mir kommt es nur merkwürdig vor, dass ich in einem Projekt mehrmals auf windows.h verweisen muss, ich dachte, einmal sollte genügen.
Zur Verdeutlichung:
-Hauptquelldatei-
#include <windows.h> #include "MeinKlassenHeader.h"-MeinKlassenHeader.h-
class MeineKlasse { private: HWND handle; // HWND wird nicht erkannt, solange ich window.h nicht nochmals inkludiere };Danke für eure Zeit

-
Hallo
Das ist schon richtig so.
Jede Übersetzungseinheit (im allgemeinen die Kombination aus cpp- und h-Datei) wird für sich alleine vom Compiler betrachtet. In der MeinKlassenHeader.h muß alles notwendige stehen, auch die includes auf windows.h.
Du must esanders rum sehen : dieses System ermöglicht dir includes dort wegzulassen wo du sie wirklich nicht brauchst, was die Compilierzeit unter Umständen sehr verringert.bis bald
akari
-
Das ging flott, danke für deine Antwort. Nun bin ich beruhigt
