gpt4 book ai didi

clang++ - 如何禁用 Clang 警告 "no case matching constant switch condition"

转载 作者:行者123 更新时间:2023-12-05 06:29:40 25 4
gpt4 key购买 nike

我正在开发一个使用另一个项目代码的项目,而另一个代码在编译过程中给我一堆警告。我不想更改该代码(我的项目只是他们代码的薄包装,我希望能够在不打补丁的情况下引入更新)所以我想禁用这些警告,这样我就可以专注于只是我自己的代码。

不幸的是,我看不到它的记录位置!

我收到的错误是:

warning: no case matching constant switch condition '2'

我有looked in the manual并尝试了 -Wno-switch-Wno-switch-bool-Wno-switch-enum 但它们都没有让这个警告消失.我看不到手册中列出此警告消息的位置。

使用 Google 我无法找到任何与错误文本匹配的命令行选项。

使用 GitHub 我能够找到 runs a test for this warning 的 LLVM 源代码但我没有运气将其映射回 -W 选项来禁用它。

我错过了什么?

下面是一些重现错误的代码:

enum En { A, B, C };
template <En how> void foo() {
int x = 0, y = 5;

switch (how) {
case A: x *= y; break;
case B: x += y; break;
}
}

template void foo<C>();

int main(void)
{
return 0;
}

最佳答案

恐怕没有-Wno-<what>可以专门抑制此警告的标志。如果有,那么诊断将是:

warning: no case matching constant switch condition '2' [-W<what>]

您只能通过抑制所有 警告来抑制它,使用-Wno-everything ,我当然不建议这样做。

关于clang++ - 如何禁用 Clang 警告 "no case matching constant switch condition",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com