当你有这样的代码时
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> 替换为 case 语句中的值,例如
case n: call_template_function_x<case_value_for_n>();break;