1 struct Base { }; 2 struct Derived : public Base { }; 3 struct Choose { 4 operator Base&(); 5 operator Derived&(); 6 }; 7 f()8 void f() 9 { 10 Choose c; 11 Base& ref = c; 12 } 13