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