#pragma GCC diagnostic push
it pop: warning: expected [error|warning|ignored] after â#pragma GCC diagnosticâ
为什么?我在 Linux 中使用 GCC。
我有一个问题,如果我不能使用pop/push,忽略只影响编译的cpp,而不影响其他cpp?如果其他一些包括上限,是否影响它?
最佳答案
#pragma GCC diagnostic push
和 #pragma GCC diagnostic pop
是 added in gcc 4.6 .您使用的是旧版本。
这些 pragma 通常与其他 #pragma GCC diagnostic
directives 结合使用仅针对一小部分代码抑制、打开或变成错误特定警告。如果它们被忽略,对警告级别的更改将应用于源文件的其余部分,而不仅仅是直到下一个 #pragma GCC diagnostic pop
。这可能不是问题,也可能是世界末日;您需要了解您的代码才能确定。
无论哪种方式,您都应该更新您的编译器。您不会使用 C89 编译器来编译 C99;不要用 gcc 4.4 编译包含 gcc 4.6 编译指示的代码。
关于c++ - 为什么在 GCC/C++ 中弹出 "pragma GCC diagnostic push"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16555585/