SDL 无法在没有常量变量的情况下创建矩形数组

SDL can't create a array of rectangles without a constant variable

本文关键字:情况下 创建 数组 变量 常量 SDL      更新时间:2023-10-16

我在 c++ SDL库工作。我尝试动态地创建一些矩形。但这行不通。我在搜索stackoverflow.com时发现的唯一解决方案是创建一个常量值,这是我不想要的。

有人能帮我吗?

这是我的代码:

void lvl001(){
max_score = 20;
count_enemies = 2;
SDL_Surface *enemie;
SDL_Rect enemies_sources[no] , enemies[no];
enemie = SDL_LoadBMP("player.bmp");
for( int count = 1; count <= no ; count++ ){
 enemies_sources[count].x = 0;  
}
}

还有一件事如果有一个解决方案,那么我应该如何进行,如果我想blit它(SDL_Blit...)?

在c++中,动态数组是使用std::vector<T>创建的,当你不关心索引时,使用基于范围的for进行循环:

std::vector<SDL_Rect> enemies_sources(no);
std::vector<SDL_Rect> enemies(no);
for (auto& source : enemies_sources)
{
  source.x = 0;
}