我是 C++ 新手。
我想忽略警告 -Wunused-result
我猜是因为 -Wall
标志而弹出的。
我确实在网上搜索过,发现这是我可以通过声明一个 pragma
来忽略它。我对 pragma
,但它说我必须写 warning number
才能忽略它。
什么是 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( disable : number_of_warning )
原文由 laterSon 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果要忽略函数的返回值,那么一种可移植的方法是用
void
将其标记为:读者和编译器都清楚地表明返回值实际上是不必要的。
但是,如果重新打开文件(
freopen
),那么该文件的后续读/写操作是否不需要返回值(FILE *
)?正如 Striezel 所指出的,对于 stdin 和 stdout,尽管返回值对于后续文件操作不是必需的,但可能仍然需要进行错误检查。失败时,
freopen
返回 NULL。