title: Error stray '#' in program
body: <p>I would like to define a macro based on whether <code>-std=c++0x</code> is used.
  If I try the macro below I have error <code>error stray '#' in program</code>.</p>
  
  <p>Is the code below incorrect / is it allowed C++ to use preprocessor <code>#if / #endif </code> within a <code>#define</code>?</p>
  
  <pre><code>   #define DEF_ME (p) \
     #if  __GXX_EXPERIMENTAL_CXX0X__ \
     #endif
  </code></pre>
  
  <p>I am using g++ 4.4.7 in Linux.</p>