回调函数: 一定要在函数名前加上 CALLBACK,否则有可能引起内存崩溃!
今天又遇到一个莫名其妙的内存崩溃问题,问题代码 EnumChildWindows(...):
EnumChildWindows(hwnd_panel_text_watermark, (WNDENUMPROC)EnumChildProc_UpdateTextWatermarkUIStatus, (LPARAM)NULL);
关于这个问题,其实去年也遇到过。
我看了一下我原来的函数申明:
BOOL EnumChildProc_UpdateTextWatermarkUIStatus(){}
我查看了一下 WNDENUMPROC 的类型,原来是 CALLBACK * 类型, 我就在我的函数前面加上 CALLBACK
然后再编译,运行,一切正常了。
我靠,原来就是因为我原来没有函数前面加上 CALLBACK 引起的。
2014-09-27