2

我想创建一个有意义的断言,如下所示:

assert(("precondition failed", false));

它在GCC下运行良好,但Clang警告我未使用的值,即 value "precondition failed"

你们知道在代码中禁用此警告的方法吗(请不要使用命令行参数或不可移植的代码)?重写断言也是一个很好的答案。

4

1 回答 1

4

这里有两种方法,即使使用 也不会产生警告-Wall -Wextra pedantic

assert(((void)"precondition failed", false));  // #1
assert("precondition failed" && false);        // #2
于 2013-07-25T02:51:19.597 回答