title: Invalid operands to binary
body: <p>I have a method to check weather a number is even or odd:</p>
  
  <pre><code>   -(BOOL)numberIsEven:(unsigned int *)x {
  
  
    if (x &amp; 1)
   {
    return TRUE;
   }
   else
  {
   return FALSE;
    }
  }
  </code></pre>
  
  <p>however whenever I compile it I get the error: </p>
  
  <pre><code>Invalid operands to binary %
  </code></pre>
  
  <p>So it's compiling into assembly as a modulus function and failing, somehow, however if I use a modulus based function (arguably slower) I get the same error!</p>
  
  <p>Help me stack overflow</p>
  
  <p>Thanks - 
  Ollie</p>