gpt4 book ai didi

c++ - 有没有办法警告我全局命名空间污染?

转载 作者:可可西里 更新时间:2023-11-01 16:41:27 26 4
gpt4 key购买 nike

gcc(或任何其他编译器)是否有警告我全局命名空间污染的选项?

我试图编译一个示例应用程序套件,但事实证明该示例的很多头文件都受到全局命名空间污染的困扰(在 header 中使用命名空间文件),因此 Mac OS X 全局结构 Rect 变得不明确。我还尝试更改 #include 的顺序以在 using namespace 的雷区之前解析系统的 Rect 符号,但这导致一些符号最终没有解析。

我之前使用谷歌搜索失败,虽然预感不好,如果存在这种警告选项,请给我信息。

最佳答案

我不知道 gcc,但 CLang 有:

def warn_using_directive_in_header : Warning<
"using namespace directive in global context in header">,
InGroup<HeaderHygiene>, DefaultIgnore;

您可以直接使用 -Wusing-directive-in-header 或通过组 -Wheader-hygiene 激活它(目前,它是组)。

它已经在邮件列表上进行了彻底审查,通常不会对常规情况发出警告。

关于c++ - 有没有办法警告我全局命名空间污染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813852/

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