title: Stringize __VA_ARGS__ (C++ variadic macros)
body: <p>Let's have </p>
  
  <pre><code>class Item{
  public:
      Item(int id,const char *name,const char *props=NULL);
  };
  </code></pre>
  
  <p>And I want to write:</p>
  
  <pre><code>ITEM(1,FIRST);
  ITEM(2,SECOND, WithSomeProps);
  </code></pre>
  
  <p>With a macro </p>
  
  <pre><code>#define ITEM(ID,NAME,...) new Item(ID,NAME, #__VA_ARGS__ )
  </code></pre>
  
  <p>That <code>#__VA_ARGS__</code> compiles well on gcc but gives an error on VStudio. Is there a solid and portable solution?</p>
  
  <p>I want to have a collection of <code>ITEM()</code> in a .h file that will be included several times with different #definitions of <code>ITEM</code>.</p>