このようなコードがある場合
switch(some_value)
{
case 1: call_template_function_x<1>();break;
case 2: call_template_function_x<2>();break;
case 3: call_template_function_x<3>();break;
// etc
}
ここで、「some_value」は実行時にのみ認識されます。スイッチを使用して、実行時の値を、入力としてテンプレート化された定数を持つ N 関数の 1 つに変換しています。
テンプレート化された関数呼び出しの <1> を case ステートメントの値に置き換える方法はありますか?
case n: call_template_function_x<case_value_for_n>();break;