Develope/MFC2013. 6. 11. 17:47

Warning C4150: 불완전한 형식 'XX::XX' 에 대한 포인터를 삭제했습니다. 소멸자가 호출되지 않습니다.


코딩을 할때 warning 에 대한 경각심을 다시금 일깨워주는 계기가 되었다.


내 경우는 서버에서 밑단에 만들어 둔 IOCP 라이브러리에서 컨텍스트를 Delete 할 때 발생하던 경고 문구였는데,


Debug 컴파일 상에서는 아무 문제가 되지 않아 그냥 넘겼었다.


테스트 서버에서 Release 컴파일 버전으로 테스트 중 계속 서버가 죽길래 보니, 


세션 컨텍스트의 Delete 시 계속 발생하고 있었다.


위 경고 문구는, cpp 에서 삭제 할 객체의 정의를 알지 못하기 때문에 소멸자를 호출하지 못하여 발생하는 것이다.


해당 cpp 파일의 상단에 XX 에 해당하는 헤더파일을 include 해주면 된다.


#include "XX.h"


간단~ 끝~!

Posted by AsCarion