struct B { static void f(); }; template struct D : private B { void g() { f(); } }; void h() { D d; d.g(); }