2015-08-29 18 views
6
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(){} 

è possibile testare qui http://melpon.org/wandbox/permlink/hhy70gO9LMjLq9nUquando il parametro del modello di un modello-parametro di modello è Expansion Pack, gcc non riesce, clang riesce

quale è giusto, gcc o clang?

+1

Si tratta di un bug GCC. Puoi presentare un rapporto [qui] (https://gcc.gnu.org/bugzilla/) – 0x499602D2

risposta

0

Questo problema è stato risolto in gcc 6.0

Problemi correlati