【发布时间】:2015-05-04 18:28:49
【问题描述】:
我来自 SDL,在那里我有一个名为 SDL_GetError() 的函数,它神奇地返回了一个带有内部错误的 const char *。这是我在 Allegro 5 上的一段代码:
#include "game.h"
ALLEGRO_BITMAP *load_bmp(const char *s) {
ALLEGRO_BITMAP *bmp = nullptr;
bmp = al_load_bitmap(s);
if (!bmp) {
al_show_native_message_box(display,
"Fatal Error!",
"Failed to load: " ,
s,
NULL,
ALLEGRO_MESSAGEBOX_ERROR);
al_destroy_display(display);
return nullptr;
}
return bmp;
}
ALLEGRO_BITMAP *player = load_bmp("GFX\\player_up.bmp");
文件没问题,我可以直接从 al_load_bitmap 加载,但是,由于我添加了我的个人功能,Allegro 崩溃并给我它的错误对话框(因此,bmp 必须是 nullptr)。问题是这个错误对我来说绝对没用,我需要知道 Allegro 内部发生了什么(所以,像 al_get_error() 这样的东西会很棒)。我怎么知道发生了什么?
【问题讨论】: