Если я правильно понял, вы можете сделать следующее:
Вы можете вернуть функцию A
, передав пользовательский ввод другой функции (other_functions_here(int& user_input)
), где вы будете обрабатывать случаи переключения/ другие мелкие функции в соответствии с пользовательским вводом.
Таким образом, вы можете просто вызвать function_A()
в основном просто следующим образом.
Однако вы должны быть очень осторожны с исключениями, чтовам, возможно, придется столкнуться при кодировании таким образом.Кроме того, отладка также будет затруднена.
#include <iostream>
int fun1() { return 1; }
int fun2() { return 2; }
int other_functions_here(int& user_input)
{
switch(user_input)
{
case 1: return fun1();
case 2: return fun2();
}
return -1;
}
int funcction_A()
{
int some_value;
std::cin >> some_value;
return other_functions_here(some_value);
}
int main()
{
int result = funcction_A();
(result != -1) ? std::cout << result :
std::cout << "Invalide user input" << std::endl;
return 0;
}