SDL 无法创建没有常量变量的矩形数组

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

我在 C++ SDL 库 中工作。我正在尝试动态创建一些矩形。但它不起作用。我通过搜索 whosebug.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;
}