struct A { int f (); }; struct B : A { }; template < int > struct C { static B b; static void g () { int i = b.f (); } }; void foo () { C<0>::g; }