4 template<typename T, class D>
6 ~U () { m1 (nullptr); }
9 void m1 (T *) { m2 () (u); }
11 struct F { F (int *); };
12 template <class, class T = F>
26 void operator() (T *x) { fn2 (x); }
29 template <typename T, typename D = C<T> >
44 H (int, T x, int) : h(x) {}
46 void m4 () { g.m3 (); }