主循环不退出 SDL2,C++

Main loop doesn't exit SDL2, C++

我正在尝试使用 SDL2 执行一个非常基本的主循环,但是 window 打开但我无法关闭它。

我写过这段代码:

bool open = true;
    while (open = true) 
  {
       SDL_Event event;
      while (SDL_PollEvent(&event) != 0)
       {  
        if (event.type == SDL_QUIT)
            {
     
            open = false;
            }
       }

   
     }

这个打开了一个window,但是我点叉退出的时候无法关闭

我已将此代码替换为网上找到的此代码:

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)