当模板模板参数的模板参数为包扩展时,gcc失败,clang成功

时间:2015-08-29 04:02:43

标签: c++

template<class ... T>
struct S{
    template<int>
    struct A{};

    template<T...>
    struct B{};

    template<template<T...> class>
    struct C{};
};

S<int>::C<S<int>::B> s1;
S<int>::C<S<int>::A> s2;//gcc5.1.0 fails, clang3.6.0 succeeds

int main(){}

你可以在这里测试http://melpon.org/wandbox/permlink/hhy70gO9LMjLq9nU

哪一个是正确的,gcc还是clang?

1 个答案:

答案 0 :(得分:0)

此问题已在gcc 6.0中解决