Problem with definition in C++ under VS2010
<p>Been working on some code and thought it would be a bit clever to try and implement some fast workaround define functions. Yet everything turned upset down when I decided to factor MostSigBit function in a single define and suddenly building my project started failing.</p>

<p>Even rewrote this code using if-else statements, no luck still stuck with same results!</p>

<pre><code>#define MostSigBit(x)   (x&amp;0x80 == 0x80) (x = x&lt;&lt;1 ^ 0x1B) : (x &lt;&lt;= 1)
#define MultiplyBy2(x)  (x != 0) ? (MostSigBit(x)) : 0
#define MultiplyBy3(x)  (x != 0) ? (MostSigBit(x) ^ x) : 0
</code></pre>
