#include void test_lookup_at_global_scope(); void test_lookup_at_file_scope(); void test_lookup_before_using_directive(); void test_lookup_after_using_directive(); int func(int a); namespace A { int foo(); int func(int a); inline int func() { std::printf("A::func()\n"); return 3; } inline int func2() { std::printf("A::func2()\n"); return 3; } void test_lookup_at_ns_scope(); namespace B { int func(); void test_lookup_at_nested_ns_scope(); void test_lookup_at_nested_ns_scope_after_using(); } // namespace B } // namespace A