Вызов функции с помощью переменных
Нужно что-то по типу этого. Чтобы из основной части вызывалась функция в зависимости от введенного числа. Если пользователь вводит 1 - вызывается fun1; а если 2 - fun2; Возможно ли такое или реализовывать все с помощью ветвления?
#include <iostream>
using namespace std;
void fun1() {
cout << "fun 1";
}
void fun2() {
cout << "fun 2";
}
int main()
{
int n;
cout << "Enter 1|2: ";
cin >> n;
fun n();
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Например, массив
typedef void (*func)();
func f[] = { nullptr, f1, f2 }
f[n](); // Дописать проверки!! иначе легко вывалиться за массив или вызвать nullptr
Или map для разреженного случая.
Примерно так.