>>81
3つ目の可変長引数を要求する関数がSFINAEによって除外されていないから
SFINAEはオーバーロード集合から関数を取り除くが、オーバーロード解決には影響しない
可変長引数に引数を渡さないときは他の関数と同じ優先順位みたい

解決策1:それ以外の場合の関数の引数を全て可変長引数にする
http://ideone.com/j9ncv6
可変長引数に引数が渡されるとき、その関数の優先順位は下がるのを利用する

解決策2:明示的に第三引数を渡す
http://ideone.com/MxqVsc
理由は策1と同じ 明示的に渡したくないならラッパを一段噛ませればよい

規格での規定はどうなっているのかよく分からないので詳しい人にお願いしたい

参考
http://cpplover.blogspot.jp/2010/03/decltypesfinae.html