<< is the stream insertion operator, it is overloaded and not the same as a bitshift. It keeps the same operator precedence as a bitshift though which is higher than & which is why you are experiencing your issues.
The << gets evaluated first causing a type mismatch.
Edit: 1 is considered the highest operator precedence for clarification.