即使存在覆盖,Wsuggest-overject 也会引发警告
Wsuggest-override raise warning even if override is present
我目前正在尝试将所有缺少的覆盖添加到项目中,所以我使用Wsuggest-override。
从文档:
-建议覆盖
警告覆盖未标有覆盖> 关键字的虚拟函数。
但是,它会对所有应使用 override 关键字的函数发出警告,即使关键字实际上存在
从日志:
In file included from LdBitFieldProperty.cpp:16:0:
LdBitFieldProperty.h:47:29: warning: ‘virtual std::__cxx11::string LdBitFieldProperty::GetStringValue(size_t) const’ can be marked override [-Wsuggest-override]
virtual std::string GetStringValue( size_t aIndex = 0 ) const override;
我是否缺少有关此警告用法的某些内容?
我的 GCC 是 : gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)
对不起,这是一个愚蠢的问题,有一个删除覆盖关键字#define override
,因为该项目曾经与 Linux 平台兼容 C++99。
删除定义解决了问题。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 在未链接的部分上生成警告
- 警告 C4552:">>":未使用表达式的结果
- 禁止显示由于常量为零而比较始终为假的警告
- 即使存在覆盖,Wsuggest-overject 也会引发警告
- 干净地禁止 gcc 的"最终"建议警告("-wsuggest-final-types"和"-wsuggest-final-methods")