C99でサポートされた可変個数引数マクロ(以下のようなコード)は、MicrosoftのVisual C++では未サポート(Visual C++ 2005ではサポートされている模様)。
#define dbg(fmt, ...) printf("debug:" fmt, __VA_ARGS__)
上記のコードを、とりあえずVC++でコンパイルし実行出来るようにするには、以下のように書き換えると良い。
#define dbg printf
上記で本当に問題が無いかどうかまでは未確認。
【追記】
コメント欄でwraith13さんに指摘していただいたように、この方法ではリリース版でデバッグコードを消す場合に問題があります。
参考サイト:
・可変個引数マクロを使う - 職業としてのプログラミング
・Variadic Macros | Microsoft Docs(MSDN Library)
・vO~O¾ê C ÌV@\