Refer C++ FAQ lite
It states for binary infix arithmetic operators :
member functions don't allow promotion of the left hand argument, since that
would change the class of the object that is the recipient of the member
function invocation
Can someone please explain why this is so ? Why is there a constrain on the type of first argument ?
Thank you.
Consider this:
But if we removed the member operator and made it a free function instead: