void g(double);
void h();
template<class T> class Z {
public:
  void f() {
    g(1);           // calls g(double)
    h++;            // ill-formed: cannot increment function; this could be diagnosed
                    // either here or at the point of instantiation
  }
};
void g(int);        // not in scope at the point of the template definition, not considered for the call g(1)
 — end example