Странное поведение компиляторов

Написал пример кода, который очень меня смутил. 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


Ответы (0 шт):