1 // { dg-do compile { target c++11 } }
2 // PR c++/34055
3 template<typename...> struct A;
4 
5 template<typename...T> struct A<T*> // { dg-error "parameter packs|T" }
6 {
7   void foo();
8 };
9 
10 template<typename...T> void A<T*>::foo() {} // { dg-error "invalid declarator" }
11 
12 
13 
14 template<typename...> struct B;
15 
16 template<typename...T> struct B<T&> // { dg-error "parameter packs|T" }
17 {
18   void foo();
19 };
20 
21 template<typename...T> void B<T&>::foo() {} // { dg-error "invalid declarator" }
22 
23 
24 template<typename...> struct C;
25 
26 template<typename...T> struct C<T()> // { dg-error "parameter packs|T" }
27 {
28   void foo();
29 };
30 
31 template<typename...T> void C<T()>::foo() {} // { dg-error "invalid declarator" }
32