从方法返回时终止调用而没有活动异常

时间:2019-03-30 07:15:34

标签: c++ multithreading terminate

我正在制作这个游戏,我需要再次回到main方法来开始玩家的另一次生活。但是,当我从另一个类的方法返回时,错误称为终止而没有活动异常。

我曾尝试寻找如何在返回之前关闭线程,但是我在互联网上找到的大多数解决方案都只是关闭了包括main在内的所有线程,因此我只想返回main方法就没有工作了。我在以下代码中复制了我的问题。我认为对此有一个非常简单的答案,我无法弄清楚,所以请帮助我。

#include<iostream>
#include<conio.h>
#include<thread>
using namespace std;
class first{
    public:
    int ch;
    void getDir();
    void func();
};
void first::getDir(){
    while(1){
        ch = _getch();
    }
}
void first::func(){
    thread getDirection(&first::getDir,this);
    while(1){
        //do stuff
        while(1){
            //do stuff
            return;
        }
    }
}
int main(){
    while(1){
        first f;
        f.func();
    }
}

0 个答案:

没有答案
相关问题