【发布时间】:2016-01-04 07:44:27
【问题描述】:
基本上,我试图找出 Gdiplus::Bitmap* 是否不为 NULL(或 0)。如果是这样删除它,然后在适当位置创建一个“新 Gdiplus::Bitmap()”。我正在尝试这样做以防止将来发生任何内存泄漏。
我已经尝试了很多东西,如果我创建位图然后调用 delete,它可以正常工作(减去 null 检查。)
// private
Gdiplus::Bitmap* last_frame_bmp;
// public
foo::foo() {
if (last_frame_bmp != NULL) { delete last_frame_bmp; }
last_frame_bmp = new Gdiplus::Bitmap(100, 100, PixelFormat32bppPARGB);
}
我的意思是,程序挂起并且无法启动。
有什么想法吗?
【问题讨论】:
-
为什么是
Gdiplus::last_frame_bmp而不仅仅是last_frame_bmp? -
@AlanStokes 错误,复制和粘贴时出现了一些错误,代码现在是这样的。