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の場合と同じになります。 –
'switch 'を提供できますか? –