title: Simple c++ program gets compilation errors
body: <p>When I'm trying to compile this code, it shows error:</p>
  
  <pre><code>main.cpp:19:3: error: invalid operands of types 'void' and 'int' to binary 'operator!='
  </code></pre>
  
  <p>This is the file:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;cstdio&gt;
  using namespace std;
  #define $ DEBUG
  #define DEBUG 1
  #define _(out) do{  std::cout &lt;&lt; __FILE__ &lt;&lt; ":" &lt;&lt; __LINE__ \
                         &lt;&lt; " " &lt;&lt; out &lt;&lt; '\n';}while(0)
  #define _(out) printf(out);
  int main(){
  
  #ifdef LOCAL_PROJECT
      #define DEBUG 0
  #endif
  
      $ &amp;&amp; ({
          _("eeeeewe");
      });//line 19
  
      return 0;
  }
  </code></pre>
  
  <p><code>$</code> is simple name of <code>DEBUG</code>, in runtime it's <code>0</code> or <code>1</code>.</p>
  
  <p>The compilation error is for this source file.
  how to get rid of this and compile?</p>