问题描述
我正在尝试使用 SDL2 执行一个非常基本的主循环,但窗口打开却无法关闭。
我写了这段代码:
bool open = true;
while (open = true)
{
SDL_Event event;
while (SDL_PollEvent(&event) != 0)
{
if (event.type == SDL_QUIT)
{
open = false;
}
}
}
while (true)
{
// Get the next event
SDL_Event event;
if (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
// Break out of the loop on quit
break;
}
}
这行得通,但我不明白为什么我的代码不能正确运行。
解决方法
您在此处进行分配,使条件始终为 true
:
while (open = true)
你可以使用==
运算符进行比较,但实际上你不需要比较,你应该简单地写:
while (open)