1 // Addr of function from multiple namespaces
2 
3 namespace X
4 {
5   void Foo (int);
6   void Foo (short);
7 }
8 
9 namespace Y
10 {
11   void Foo (float);
12   void Foo (double);
13 }
14 
15 template <typename T> void Foo (T *);
16 
17 using namespace X;
18 
19 using namespace Y;
20 
Baz()21 void (*(Baz ())) (float)
22 {
23   return Foo;
24 }
25 
Bar()26 void (*(Bar ())) (void *)
27 {
28   return Foo;
29 }
30