struct A; //typedef int A; struct B { operator const A & (); }; void g(const A &); void g(A &); int main() { g(B()); }