void gf() {} namespace N { void nf() {} } using N::nf; using namespace N; struct B { static void bf() {} }; struct D : B { using B::bf; void df() { using ::gf; gf(); } }; template struct TB { static void tbf() {} }; struct TD : TB, TB { using TB::tbf; }; namespace nsfoo { void foo(void); } namespace nsbar { using ::nsfoo::foo; } int main() { return 0; }