title: Xcode offers strange solution for explicitly dead code in c++?
body: <p>I'm writing a program that is supposed to solve a sudoko-like puzzle, Hashiwokakero. I have some code that looks like this:</p>
  
  <pre><code>if (bridgesLeft[row][col] == 1)
  {
     doSomething();
  }
  else if (bridgesLeft[row][col] == 2)
  {
     doSomethingElse();
  }
  else if (bridgesLeft[row][col] == 3)
  {
     doAnotherThing();
  }
  ...
  </code></pre>
  
  <p>I realized that I put a bug in the <code>doSomethingElse()</code> function, so rather than deleting that block, I added <code>else if (bridgesLeft[row][col] == 2 &amp;&amp; false)</code> to guarantee that the buggy function wouldn't run, just to make sure that was where my bug was coming from. Xcode gave me a warning, saying my <code>doSomethingElse()</code> code would never run. It also gave me this option:</p>
  
  <pre><code>fix-it: Silence by adding parentheses to mark code as explicitly dead.
  </code></pre>
  
  <p>Clicking on this button changes </p>
  
  <pre><code>else if (bridgesLeft[row][col] == 2 &amp;&amp; false)
  </code></pre>
  
  <p>to</p>
  
  <pre><code>else if (bridgesLeft[row][col] == /* DISABLES CODE */ (2) &amp;&amp; false)
  </code></pre>
  
  <p>How do parentheses around the '2' mark this code as explicitly dead? What does this mean? If I leave the parentheses in, but take the <code>&amp;&amp; false</code> part out, the code block is still executed, so it's not actually making the code dead.</p>