C++ SDL don';t加载/显示正确的图像

C++ SDL don';t加载/显示正确的图像,c++,sdl,sdl-image,C++,Sdl,Sdl Image,我在写一个简单的游戏。我被一个错误缠住了,我不知道原因是什么。 在我编写的代码中: DxFrame[0] = ImageLoader("Rome/Ball_Dx/RomeDx1.png"); DxFrame[1] = ImageLoader("Rome/Ball_Dx/RomeDx2.png"); DxFrame[2] = ImageLoader("Rome/Ball_Dx/RomeDx3.png"); DxFrame[3] = ImageLoader("Rome/Ball_Dx/RomeDx4

我在写一个简单的游戏。我被一个错误缠住了,我不知道原因是什么。 在我编写的代码中:

DxFrame[0] = ImageLoader("Rome/Ball_Dx/RomeDx1.png");
DxFrame[1] = ImageLoader("Rome/Ball_Dx/RomeDx2.png");
DxFrame[2] = ImageLoader("Rome/Ball_Dx/RomeDx3.png");
DxFrame[3] = ImageLoader("Rome/Ball_Dx/RomeDx4.png");
DxFrame[4] = ImageLoader("Rome/Ball_Dx/RomeDx5.png");

SxFrame[0] = ImageLoader("Rome/Ball_Sx/RomeSx1.png");
SxFrame[1] = ImageLoader("Rome/Ball_Sx/RomeSx2.png");
SxFrame[2] = ImageLoader("Rome/Ball_Sx/RomeSx3.png");
SxFrame[3] = ImageLoader("Rome/Ball_Sx/RomeSx4.png");
SxFrame[4] = ImageLoader("Rome/Ball_Sx/RomeSx5.png");
但是当我在监视器中编译时,DxFrame[4]不是应该的。事实上,他成了SxFrame[0]。我不明白为什么会这样

编辑 这是图像加载器:

        SDL_Surface* ImageLoader(string Image) {

        SDL_Surface* LoadedImage    = NULL;

        SDL_Surface* OptimizedImage = NULL;

        LoadedImage = IMG_Load(Image.c_str());

        OptimizedImage = SDL_DisplayFormat(LoadedImage);

        SDL_FreeSurface(LoadedImage);

        return OptimizedImage;
        }

我认为没有更多的相关代码。

您的阵列可以容纳4个图像,但您正在向其中写入5个图像,这将覆盖后面的任何图像。

请更具体一些,并发布一些相关代码,没有人会阅读您的整个源代码。