使用 SDL 在 C++ 中显示图像时出现问题

Problems displaying image in C++ with SDL

代码在这里:https://gist.github.com/protectivetoast83/25301772cbc6f13e6e07

问题图片

该程序应该在 window 坐标 32、32 处显示一个灰色矩形,但它还在坐标 0,0 处显示第二个灰色矩形。

我在 gameWorld.cpp 的第 60 行添加了一个 cout 语句,程序开始正常运行。该程序只有在我有 cout 语句时才能正常工作。

这是怎么回事,我该如何解决?

gameWorld.cpp 的第 57 行看起来很可疑:

if(objSet[i].checkActive());

该分号结束了 if 语句 ("if object i is active, do nothing"),随后的四行是始终执行的裸内部块。 (这解释了为什么在你的第二个屏幕截图中,你循环遍历从 i=099 的所有对象,如右下角的文本框所示。它没有告诉我为什么添加不过,第 60 行改变了代码的行为。)