我在 (gcc/g++) 上有 -Wpadded 警告选项,并按预期获得这些针对非填充 C/C++ 结构的警告。
现在,我想从该警告中排除一些结构,而不必实际填充它们。
让事情变得更复杂——我有“-Wall”。这使得 #pragma GCC diagnostics ignored -Wpadded
的方法不可用(遗憾的是,本来会非常整洁)。
代码中的某种“pragma”指令是我期望的解决方案。提前致谢!
请注意,我的原始问题文本中存在拼写错误!请参阅已接受的答案以确认带有#pragma 的方法确实有效!
最佳答案
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpadded"
// Doesn't warn
struct Foo { bool x; int y; };
#pragma GCC diagnostic pop
// Warns
struct Bar { bool x; int y; };
( live demo )
-Wall
并没有使这变得复杂或成为一个问题;你只需要正确拼写 pragma 即可。 😊
关于c++ - -Wpadded 警告的异常(exception)/排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57073501/