invalid argument to unary operator