MSVC 的 C4138 警告 ( "'*/' found outside of comment" ) 是否应该被禁用?

Should MSVC's C4138 warning ("'*/' found outside of comment") be disabled?

本文关键字:是否 comment found 警告 C4138 outside MSVC of      更新时间:2023-10-16

使用MSVC2017

编译以下代码时
void Foo::bar(A */*a*/)

我得到了此警告:

foo.cpp:38: warning: C4138: '*/' found outside of comment

我可以通过在星号之后添加一个空间来解决此问题:

void Foo::bar(A * /*a*/)

但是,我必须在很多地方进行此操作,如果我不选出参数,则由于额外的空间而不会遵循我使用的编码样式。

由于我对GCC或Clang没有相同的警告,我想知道这是否是可以安全禁用的MSVC特定怪癖。

是的,这是一个不必要的警告;您提出的代码没有错。实际上,在函数定义中评论变量名称可以很有用,例如,当您想在函数参数列表中抑制"未使用的变量"警告时。

  1. 关闭警告,并依靠编译器在您的代码中确实存在不匹配的评论块发出诊断。

  2. 向编译器供应商提交错误报告。