Fehler beim include
-
Hallo
Es also so, dass wenn ich in eine cpp-Datei inkludiere alles in Ordnung ist und wenn ich in eine hpp-Datei inkludiere es zu Problemen mit den defines kommt.
chrische
-
Hi,
chrische5 schrieb:
die C;yGeometryView.cpp inkludiert
*.cpp's inkludiert man normalerweise ja nicht, sondern nur die Schnittstelle davon, also die *.h. Könnte vllt ein Problem mit namespaces geben. Hatte sowas komisches auch vor kurzem ...
-
Hallo
Da habe ich wohl ein paar Wörter vergessen. Ich habe natürlich in die .cpp Datei inkludiert und nicht diese selber.
chrische
-
Das sind doch keine Makros?! (also #define MAX(a, b) (a > b ? a : b) ) Das sind Templates und sind so wie sie da stehen korrekt! Da liegt nicht der Fehler.
*.h, *.hpp wird inkludiert. *.cpp und *c wird für die Implementierung genutzt.
-
Hallo
Ich habe bereist geschrieben, dass ich weiß, was inkludiert wird und was nicht. Da habe ich mich blöd ausgedrückt. Ich weiß auch, dass es sich bei denn inline-Funktionen nicht um Makros, sondern um Templatefunktionen handelt und sehe auch, dass diese korrekt sind. Das Problem könnte aber darin liegen, dass sie, da sie den selben Namen haben, irgedwie mit den defines von max und min kollidieren. Das Syntaxhighlightning zeigt mir die Funktionen auch lila an und wenn ich mit der Maus darüber stehe bleibe, dann wird mir der Code des defines angezeigt. Daher meine Mutmaßung.
chrische
-
hmm wie wäre es dann wenn du die Makros undef's? Oder du einfach mal guckst in welchen Header die sind und ob du den Header wirklich brauchtest oder warum du den inkludiert hast.
-
#define NOMINMAX
-
Hallo
Wie kann man Makros undefen?
chrische
-
#undef MIN #undef MAX... so f+r gewöhnlich

-
Hallo
Das ist wirklich leicht.
Danke
chrische