// { dg-do run } | |
template<class T> class D | |
{ | |
T a; | |
public: | |
int f(); | |
}; | |
template<class T> int D<T>::f() | |
{ | |
return sizeof(T); | |
} | |
template<class E,template<class> class DD = D> class C | |
{ | |
DD<E> d; | |
public: | |
int f(); | |
}; | |
template<class E,template<class> class DD> int C<E,DD>::f() | |
{ | |
DD<E> d2; | |
return d2.f(); | |
} | |
int main() | |
{ | |
C<int> c; | |
c.f(); | |
} |