Я все еще новичок в программировании, но я пытаюсь сделать программу, которая немного больше, и состоит в том, что больше функций, чем обычно. И я хочу сделать повторяющееся «Главное меню» (от которого вы можете получить доступ к остальным функциям программы), но когда я снова пытаюсь вызвать функцию, ничего не происходит. Это выглядит так:Функция A, вызванная функцией A?
void mainMenu()
{
//clear console screen
//menu of the program
//i.e "Press 1 to choose something
//console screen is cleared again, then new options appear
//"Press E to go back to main menu"
unsigned char v;
v = getch();
if (v == 'E')
mainMenu();
}
Что я делаю неправильно? Не следует ли снова вызвать mainMenu(), очистить экран и т. Д.? Я думаю, я мог бы просто вернуть что-то из функции, которая заставит программу снова вызвать mainMenu() (и, например, сменить mainMenu() на int), но должно быть какое-то обходное решение, которое мне не хватает.
В этом кодексе нет ничего плохого – Steephen
Как вы узнали о mainMenu не называется? – tohava
рекурсия, можно быть в порядке. Меня беспокоит, что у вас будет переполнение стека, и ваше приложение завершится. – Mgetz