struct hoge
{
hoge()
{
printf( "A\n" );
}
template< typename ... Args > hoge( Args&& ... args )
{
printf( "B\n" );
}
};

template< typename ... Args > void hage( Args&& ... args )
{
hoge( args ... );
}

なるほどわかりました。
この場合はどうやって呼び分ければいいでしょうか。