使用msvc2017编译以下代码时
void Foo::bar(A */*a*/)
Run Code Online (Sandbox Code Playgroud)
我收到这个警告:
foo.cpp:38: warning: C4138: '*/' found outside of comment
Run Code Online (Sandbox Code Playgroud)
我可以通过在星号后面添加一个空格来解决这个问题:
void Foo::bar(A * /*a*/)
Run Code Online (Sandbox Code Playgroud)
但是,我必须在很多地方执行此操作,如果我取消注释参数,由于额外的空间,我使用的编码样式将不会被遵循.
由于我没有用gcc或clang得到相同的警告,我想知道这是否是可以安全地禁用的特定于MSVC的怪癖.
是的,这是一个毫无根据的警告;您提供的代码没有任何问题。事实上,在函数定义中注释掉变量名可能很有用,例如当您想要在自记录的函数参数列表中抑制“未使用的变量”警告时。
如果代码中确实存在不匹配的注释块,请关闭警告并依靠编译器发出诊断。
向编译器供应商提交错误报告。
归档时间: |
|
查看次数: |
152 次 |
最近记录: |