簡體   English   中英

零可變參數宏參數的 GCC 編譯器警告標志

[英]GCC compiler warning flag for zero variadic macro arguments

GCC 中零可變參數宏參數的編譯器警告標志是什么(我使用的是 GCC 5.3.0)?

警告是由這樣的代碼觸發的

// for illustration purposes only:
int foo(int i) { return 0; };
#define FOO(A, ...) foo(A, ##__VA_ARGS__)
FOO(1);
      ^  warning: ISO C++11 requires at least one argument for the "..." in a variadic macro

但警告並未指示使用哪個標志來啟用/禁用警告(這通常顯示在方括號[-Wwarning-flag-name] )。

在 clang 中它是-Wgnu-zero-variadic-macro-arguments 我在gcc-5.3.0警告文檔中找不到類似的東西。

我試過-Wgnu-zero-variadic-macro-arguments-Wvarargs-Wno-variadic-macros (感謝@ Revolver_Ocelot),但這些都不負責這個警告。

導致問題的警告標志是-Wpedantic 這是因為省略可變參數是非法的,需要進行診斷。 警告滿足該要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM