コード例:
#define FOO(...) You passed: #__VA_ARGS__
FOO(1,2,3)
FOO()
Visual C++ (バージョン 14 CTP) で前処理し、次を取得します。
You passed: "1,2,3"
You passed:
最後の行で#__VA_ARGS__
は、無に変わります。「」になったほうがいいです。
何が起こるかについての決定的な参照はありますか?私はたくさんグーグルで検索しましたが、見つかりませんでした。
提案された回避策も役立ちます。