我是 c++ 新手。
我想忽略警告 -Wunused-result
我猜是因为 -Wall
标志而弹出的。
我在网上搜索了一下,发现这是我可以通过声明一个pragma
来忽略它。我对 pragma
了解不多,但它说我必须写 warning number
才能忽略它。
什么是
,或者是否有任何其他方法可以忽略或禁用此特定警告?-Wunused-result
的警告编号
代码:-
freopen("input", "r", stdin);
freopen("output", "a", stdout);
关于编译:-
warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
我发现我需要声明类似的东西
#pragma warning(禁用:number_of_warning)
最佳答案
正如其他答案所说,这些警告通常是有充分理由的。
但是,如果您需要在 gcc 中抑制由 __attribute__ ((__warn_unused_result__))
引起的警告,通常的简单转换为 void 将不起作用。
有效的是:
(void)!freopen("input", "r", stdin);
(void)
本身是不够的,根据 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 是故意的
解决方法来自 comment 34在该错误报告中。
关于c++ - 忽略警告 "-Wunused-result",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40576003/