我正在使用SDL制作游戏,一切正常但是当我在Windows 7上测试它(我在win XP上编码)时,它在这部分崩溃了:
void ImageManager::DrawObjectTile(int i,int j)
{
ScreenPosition.x = (j*TITLE_SIZE) - MapScrollX;
ScreenPosition.y = (i*TITLE_SIZE) - MapScrollY;
if (Main_BuildingManager_Ptr->Building_Vector[i][j].BuildingType==TX_EmptyTile)
{
Source.x = EMPTY_TILE_X;
Source.y = EMPTY_TILE_Y;
SDL_RenderCopy( Main_System_Ptr->GetRenderer(),
Sheet_1,
&Source,
&ScreenPosition);
}
基本上它崩溃了这一行:
if (Main_BuildingManager_Ptr->Building_Vector[i][j].BuildingType==TX_EmptyTile)
我一直在尝试调试这个,我和j变量都没问题。 Vector也被填充了。
BuildingManager::BuildingManager()
{
Building_Vector.resize(LEVEL_HEIGHT);
for (int y=0; y<Building_Vector.size(); y++)
{
Building_Vector[y].resize(LEVEL_WIDTH);
for (int x=0; x<Building_Vector[y].size(); x++)
{
Building_Vector[y][x].BuildingType = TX_EmptyTile;
}
}
}
编辑:我已经设法安装了代码块并且我的代码崩溃了但是当我在调试模式下测试它时,它能够完美地运行。