// { dg-do compile } | |
template <typename V> | |
struct b | |
{ | |
template <typename T> | |
class a | |
{ | |
template <typename> | |
friend class a; | |
T t_; | |
public: | |
a() {} | |
a(a<T *> const &); | |
}; | |
}; | |
template <typename V> | |
template <typename T> | |
b<V>::a<T>::a(a<T *> const &rhs): t_(*rhs.t_) | |
{} | |
int | |
f () | |
{ | |
b<void *>::a<char *> q; | |
b<void *>::a<char> w(q); | |
return 0; | |
} |