Странное поведение компиляторов
Написал пример кода, который очень меня смутил. MSVC компилирует его без проблем в,но Clang и GCC нет.Баг компилятора или реализация?
template<typename T,typename...U>
struct A
{
static void print()
{
std::cout<<"primary template"<<std::endl;
}
};
template<typename T,typename...U>
struct A<T,U...>
{
static void print()
{
std::cout<<"partial template"<<std::endl;
}
};
int main()
{
A<float,int>::print();
return 0;
}
https://godbolt.org/z/Tfense4oK