(C23) | ||||
(C23) | ||||
(C23) | ||||
maybe_unused (C23) | ||||
(C23)(C23)(deprecated) | ||||
(C23) | ||||
(C23) |
Suppresses warnings on unused entities.
Contents |
[[maybe_unused]][[__maybe_unused__]] | |||||||||
This attribute can appear in the declaration of the following entities:
If the compiler issues warnings on unused entities, that warning is suppressed for any entity declaredmaybe_unused.
#include <assert.h> [[maybe_unused]]void f([[maybe_unused]] _Bool cond1,[[maybe_unused]] _Bool cond2){[[maybe_unused]] _Bool b= cond1&& cond2;assert(b);// in release mode, assert is compiled out, and b is unused// no warning because it is declared [[maybe_unused]]}// parameters cond1 and cond2 are not used, no warning int main(void){ f(1,1);}
C++ documentation formaybe_unused |