// { dg-do run } | |
template <class T> | |
void f(T t); | |
template <class T> | |
void f(T* t); | |
template <> | |
void f(int* ip) {} | |
struct S1 | |
{ | |
template <class T> | |
void f(T t); | |
template <class T> | |
void f(T* t); | |
}; | |
template <> | |
void S1::f(int* ip) {} | |
template <class U> | |
struct S2 | |
{ | |
template <class T> | |
void f(T t); | |
template <class T> | |
void f(T* t); | |
}; | |
template <> | |
template <> | |
void S2<double>::f(int* ip) {} | |
int main() | |
{ | |
int* ip; | |
S1 s1; | |
s1.f(ip); | |
S2<double> s2; | |
s2.f(ip); | |
} |