c++ - 如何保持循环直到函数返回?

标签 c++

我使用的 C++ 图形库具有函数 void WaitForMouseDown()void WaitForMouseUp()。 WaitForMouseDown 函数等待鼠标按钮被按下然后返回。 WaitForMouseUp 等待按钮被释放。 库中还有另一个函数 bool isMouseDown(),如果鼠标按钮当前处于按下状态,则返回 true

现在,当用户第一次单击时,我必须开始循环执行某些操作,并继续循环,直到用户第二次按下鼠标。

我尝试了以下方法,但由于某种原因,第二次单击后程序崩溃了。有什么想法,我做错了什么吗?

int main(){
   WaitForMouseUp();
   while(!isMouseDown()){
      //do something
   }
   return 0;
}

最佳答案

如果 //do some 不包括轮询鼠标或对窗口系统事件进行操作(即不调用您的库),则这里会出现明显的无限循环:isMouseDown 将始终返回 true,因为将其设置为 false 的事件会在事件队列中休眠。

关于c++ - 如何保持循环直到函数返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8819610/

相关文章:

c++ - 内联函数的链接

c++ - printf() 函数不起作用

c++ - 比较两个std::chrono::time_point实例时出错

DLL 中的 C++ 新 gdiplus::bitmap 返回 null

c++ - 重新转换数组以存储在 vector 中

c++ - gcc *有时* 以一种奇怪的方式解决重载歧义

c++ - Ubuntu 10.04 中的 Boost.Python 教程

c++ - 如何复制初始值设定项列表?

c++ - 在 C++/Python 代码中更改参数值

c++ - 找出一个数的所有质因数