有没有办法推断列表的类型,以避免必须传递列表应该的参数类型,只是从第一个元素类型推断它.
template<typename T, T... Args>
struct Calc
{
// do stuff with Args
};
// Usage:
Calc<int, 1, 2, 3>::value;
typename<T... Args> Calc { }; // error T undefined
// Desired:
Calc<1, 2, 3>::value; // auto deduced T = int
Calc<1.0f, 2.0f, 3.0f>::value; // auto deduced T = float
Run Code Online (Sandbox Code Playgroud)
有没有办法获得所需的行为,或者我必须将类型包含为参数?