<p>As far as I know, in gcc you can write something like:</p>

<pre><code>#define DBGPRINT(fmt...) printf(fmt);
</code></pre>

<p>Is there a way to do that in VC++?</p>

Almost. It's uglier than that though (and you probably don't want a trailing semi-colon in the macro itself:
```
```
#define DBGPRINT(DBGPRINT_ARGS) printf DBGPRINT_ARGS // note: do not use '(' & ')'
```
```
To use it:
```
```
DBGPRINT(("%s\n", "Hello World"));
```
```
(was missing a pair of parens).
Not sure why all the negatives, the original question didn't state a version of VC++, and variadic macros aren't supported by all compilers.