我有一些类似的代码Q_ASSERT(value_which_is_always_smaller_than_4其中Q_ASSERT是Qts断言宏。现在clang,看到这个警告我,因为比较总是正确的。很高兴它可以检测到这一点,但这就是assert语句的重点。我可以以某种方式抑制警告,但只能在断言语句中吗?我仍然希望在其他地方得到警告。 最佳答案 您可以定义一个新宏来包装Q_ASSERT并使用#pragmaclangdiagnosticignored自动消除警告:#defineSTR(x)#x#definePRAGMA(x)_Pragma