我在堆栈变量上收到此警告:
warning: object.member may be used uninitialized in this function
在这种情况下,我不希望强制初始化只是为了摆脱警告,因为它会消耗 CPU 周期。该变量是一个 POD 结构,因此 memset
不是零成本。我可以验证该变量从未在未初始化的情况下使用过,所以我只想取消它的警告。
一般来说,我确实想要警告,而不是在这个特定场景中的这个特定变量上。如何抑制警告?
看起来编译指示诊断是正确的方法,但它们需要相当新版本的 GCC (4.6)
在该版本已知之前没有可接受的解决方案。
原文由 edA-qa mort-ora-y 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试这样做:
这个编译指示有三种有趣且有用的风格:
warning
、error
、ignored
。有关它们的用法,请参见 6.56.10 诊断编译指示。链接说,