Ich erlasse eine Klasse von MFC CDialogEx
:
Ich habe PostNcDestroy
als solches implementiert :
Ich war überrascht zu sehen, dass dieser Code kompiliert (unter Verwendung von VC120 oder Visual Studio 2013) und generiert überhaupt keine Warnung. Kann jemand sagen, warum das der Fall ist?
Danke.
Warum wird "delete * this" jemals kompiliert?
Es ist möglich, ein einfaches mcve zu schreiben, das das Verhalten wiedergibt, nach dem Sie fragen:
%Vor% Dies wird kompiliert, weil foo
implizit in einen Zeigertyp umgewandelt werden kann. Dasselbe könnte für Ihre Klasse der Fall sein.
Tags und Links compilation c++ mfc