When the template parameter of the template-template-parameter is a package extension, gcc fails, clang succeeds

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(){} 

you can check here http://melpon.org/wandbox/permlink/hhy70gO9LMjLq9nU

Which one is right, gcc or clang?

+6
source share
1 answer

This issue is resolved in gcc 6.0

0
source

All Articles