5

コード例:

#define FOO(...) You passed: #__VA_ARGS__
FOO(1,2,3)
FOO()

Visual C++ (バージョン 14 CTP) で前処理し、次を取得します。

You passed: "1,2,3"
You passed:

最後の行で#__VA_ARGS__は、無に変わります。「」になったほうがいいです。

何が起こるかについての決定的な参照はありますか?私はたくさんグーグルで検索しましたが、見つかりませんでした。

提案された回避策も役立ちます。

4

2 に答える 2