經過多年主要使用 gcc,我突然需要在 Windows 上使用 Visual C 。我需要翻譯的最新內容是:
#ifdef DBG_ENABLE
#define DBG_PRINT(x...) printf(x)
#else
#define DBG_PRINT(x...)
#endif
這給了我這個錯誤:
error C2010: '.': unexpected in macro parameter list
有人可以分享這樣做的Windows方式嗎?
我嘗試使用谷歌搜索和搜索 Microsoft 檔案,但無法找到一種方法來表達帶來相關結果的問題。
uj5u.com熱心網友回復:
#define DBG_PRINT(x...) printf(x)不是在 VC 中使用可變引數宏的正確語法。
根據有關Variadic macros的Microsoft 檔案,請嘗試以下操作:
#ifdef DBG_ENABLE
#define DBG_PRINT(...) printf(__VA_ARGS__)
#else
#define DBG_PRINT(...)
#endif
要么:
#ifdef DBG_ENABLE
#define DBG_PRINT(s, ...) printf(s, __VA_ARGS__)
#else
#define DBG_PRINT(s, ...)
#endif
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/456514.html
