https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51789
--- Comment #3 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #2) > Yes, it is not a complete testcase. It should have #include <type_traits>, > or here's a complete version: > > namespace std { > template<typename T, typename U> struct is_same { static const bool value = > false; }; > template<typename T> struct is_same<T, T> { static const bool value = true; > }; > template<bool, typename T = void> struct enable_if { }; > template<typename T> struct enable_if<true, T> { using type = T; }; > } > > struct A { > template< > typename ...T, > template<typename std::enable_if< > std::is_same<T, int>::value, int > >::type ... > > class... > > > A(T...); > }; > > A a = {1, 2.0, 3}; Ah ok, thanks