可変個数引数マクロがVisual C++で未サポートな件

C99でサポートされた可変個数引数マクロ(以下のようなコード)は、MicrosoftのVisual C++では未サポート(Visual C++ 2005ではサポートされている模様)。

#define dbg(fmt, ...) printf("debug:" fmt, __VA_ARGS__)


上記のコードを、とりあえずVC++コンパイルし実行出来るようにするには、以下のように書き換えると良い。

#define dbg printf

上記で本当に問題が無いかどうかまでは未確認。


【追記】
コメント欄でwraith13さんに指摘していただいたように、この方法ではリリース版でデバッグコードを消す場合に問題があります。


参考サイト:
可変個引数マクロを使う - 職業としてのプログラミング
Variadic Macros | Microsoft DocsMSDN Library)
ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê C ‚̐V‹@”\