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

时间:2012-01-11 12:53:04

标签: c++

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

现在,我必须在用户第一次点击时开始循环,并保持循环直到用户第二次按下鼠标。

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

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

2 个答案:

答案 0 :(得分:3)

如果//do something不包括轮询鼠标或操作窗口系统事件(即没有调用你的库),那么你在这里有明显的无限循环:isMouseDown将始终返回{{ 1}}因为将其设置为true的事件将在您的事件队列中休眠。

答案 1 :(得分:0)

我认为应该是

int main()
{
  WaitForMouseUp();
  bool done = false;
  while(!done) {
  //do something
  done = isMouseDown();
  }