6
为什么在可变参数模板包中没有允许特定类型?一种特定类型的可变参数模板参数
template< typename T >
class Foo
{
public:
template< typename... Values >
void bar(Values... values)
{
}
template< T... values > <-- syntax error
void bar(T... values)
{
}
template< int... values > <-- syntax error
void bar(int... values)
{
}
};
什么在不的理由让这个?
有没有这方面的建议?
注:替代将是
std::initializer_list<T>
没有的类型变窄和{ }
-brace语法- 一个(丑陋的)递归特性是seperately检查所有类型:see here