Endurion
Sir Bugalot
Upps, sorry, die stdafx.h sollte nur bei den .cpp-Dateien rein, klar.
Irgendwo in den Untiefen der MFC-Header werden die new und delete operatoren überschrieben. Wenn jetzt deine eigenen Klassen auch new und delete benutzen, und da nicht die überschriebenen verwendet werden, dann gibt's ein Problem, dass da zwei verschiedene Versionen existieren, die aber intern gleich heissen. Dadurch dass der stdafx.h jetzt vor deinen eigenen Header steht, bekommen die den überschriebenen Operator ab.
Vielleicht liege ich aber auch komplett daneben
Das hat mich auf jeden Fall ewig angeko*t, und ist einer der Hauptgründe, warum ich precompiled-Headers immer direkt abstelle. Meine Codebasis möchte ich nicht mit stdafx.h-includes verhunzen. Und schneller kompiliert es dann auch nur, wenn man nur in .cpp-Dateien was ändert. Wann passiert sowas schon.
Das mit vor und nach dem Neustarten führe ich auf den inkrementellen Linker zurück. Wenn du ein Full Rebuild machst, müsstest du auch vor dem Neustart auf den Fehler stossen.
Irgendwo in den Untiefen der MFC-Header werden die new und delete operatoren überschrieben. Wenn jetzt deine eigenen Klassen auch new und delete benutzen, und da nicht die überschriebenen verwendet werden, dann gibt's ein Problem, dass da zwei verschiedene Versionen existieren, die aber intern gleich heissen. Dadurch dass der stdafx.h jetzt vor deinen eigenen Header steht, bekommen die den überschriebenen Operator ab.
Vielleicht liege ich aber auch komplett daneben
Das hat mich auf jeden Fall ewig angeko*t, und ist einer der Hauptgründe, warum ich precompiled-Headers immer direkt abstelle. Meine Codebasis möchte ich nicht mit stdafx.h-includes verhunzen. Und schneller kompiliert es dann auch nur, wenn man nur in .cpp-Dateien was ändert. Wann passiert sowas schon.
Das mit vor und nach dem Neustarten führe ich auf den inkrementellen Linker zurück. Wenn du ein Full Rebuild machst, müsstest du auch vor dem Neustart auf den Fehler stossen.