2
У меня есть указатель на функцию с типом double(*)(void)
, и я хочу передать его функции с заданным параметром числа.Как отбрасывать из double (*) (void) в указатель функции с заданным числом параметров?
// already have function my_func with type double(*)(void)
int para_num;
para_num = get_fun_para_num(); // para_num can be 1 or 2
if para_num == 1
cout << static_cast<double (*)(double)>(my_func)(5.0) << endl;
else
cout << static_cast<double (*)(double, double)>(my_func)(5.0, 3.1) << endl;
Я могу обеспечить, чтобы литой была правильной, - это любой способ сделать бросок без if-else?
Короткий ответ: нет. –
Ответ будет таким же для типа BTW. –
Могу я предложить «переключатель»? –