为什么可变参数模板包中不允许特定类型?
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 )
{
}
};
Run Code Online (Sandbox Code Playgroud)
什么在的理由不使这个?
是否有这方面的建议?
注意:替代方案是
std::initializer_list< T >
没有缩小类型和{ }
-brace语法