Non-member operator acting on temporary objects: why doesn't this compile?

Printable View