Я делаю эту игру, и мне нужно снова вернуться к основному методу, чтобы начать новую жизнь игрока. но когда я возвращаюсь из метода другого класса, возникает ошибка, вызванная завершением без активного исключения.
Я пытался посмотреть, как закрыть поток перед возвратом, но большинство решений, которые я нахожу в Интернете, просто закрывают все потоки, включая 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();
}
}