Operator overloading troubles