
[英]No warning about unused parameter in template function with gcc but with Clang
[英]GCC and Clang not warning on unused exception variable
考虑以下无用的代码 - 特别是catch
子句中的int k
:
int main()
{
try
{
throw 0;
}
catch(int k)
{
}
return 0;
}
当使用g ++(版本8.3.0)和clang ++(8.0.0)与-Wall -Wextra
,尽管使用了未使用的k
变量,但不会发出警告。 Visual Studio会发出警告,这就是我在我的项目中发现这种差异的方式。
这是GCC和Clang中的一个错误,还是我误解了-Wunused
组错误的旗帜?
错误报告: https : //bugs.llvm.org/show_bug.cgi? id = 41746
事实证明clang有警告-Wunused-exception-parameter
,虽然它没有被任何组-Wall
, -Wextra
或-Wunused
。
错误报告: https : //gcc.gnu.org/bugzilla/show_bug.cgi? id = 90353
正如对此问题的评论和错误报告中所述,所有catch参数始终标记为已使用。 这是在链接的错误报告中进行调查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.