#pragma GCC diagnostic push
it pop: warning: expected [error|warning|ignored] after â#pragma GCC diagnosticâ
为什么呢?我在Linux中使用GCC。
我有一个问题,如果我不能使用pop / push,如果忽略只影响编译的cpp,不影响其他cpp?如果其他一些包括上限,如果影响呢?
答案 0 :(得分:17)
#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的编译指示的代码。