Я использую FLTK.У меня есть окно с множеством кнопок, которые пользователь может нажать, чтобы выполнить какое-либо действие.В моем int main () у меня есть оператор switch для обработки всего этого.Когда пользователь нажимает кнопку выхода, оператор switch настраивается следующим образом:
case Exit_program:
cout << "save files and exit\n";
do_save_exit(sw);
Это относится к функции do_save_exit, которая создает окно подтверждения выхода с двумя кнопками yes (выход) и no (не выход).Я получил кнопку «Да», чтобы выйти из программы, но кнопка «Нет» означает, что я должен просто скрыть окно подтверждения.Это следующие функции:
void yes(Address addr, Address)
{
exit(0);
}
void no(Address addr, Address)
{
}
void do_save_exit(Window& w)
{
Window quit(Point(w.x()+100, w.y()+100), 250, 55, "Exit confirmation");
Text conf(Point(15,15),"Do you really want to save and exit?");
Button yes(Point(60, 20),35,30,"Yes",yes);
Button no(Point(140, 20),35,30,"No",no);
quit.attach(conf);
quit.attach(yes);
quit.attach(no);
wait_for_main_window_click();
}
Проблема в том, что, когда я нажимаю кнопку «нет», она становится пустым, но я не могу никуда идти оттуда.Я просто хочу сделать quit.hide (), но функция no не видит окна выхода (вне области видимости).Как мне поступить?Спасибо
PS: я думал об использовании указателя на окно выхода и последующем использовании указателя для выхода из окна в функции no, но я не уверен, как именно это сделать.