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