静态代码检查器抱怨.虚惊一场?
Static code checker complaining. False alarm?
使用 VS2017 社区,当我编译以下代码时,它会发出来自静态代码检查器的警告:
严重性代码说明项目文件行抑制状态 警告 C26495 变量"aux::系统::D ummy::值"未初始化。始终初始化成员变量(类型 .6(。 80 活动
我做错了什么还是虚惊一场?
在这里,导致此问题的代码(减去它周围的命名空间...
class Dummy
{
const uint32_t value;
public:
Dummy() = delete;
Dummy( const Dummy& other )
: value{ other.value }
{}
explicit Dummy( uint32_t v)
: value{ v }
{}
};
我不明白为什么value
成员可以不初始化。
我做错了什么还是虚惊一场?
这似乎是C26495上的误报。
还可以找到一些类似的报告。(链接 1(, (链接 2(
是的,绝对是误报...我经常在非常相似的代码中收到此警告。一种简单(尽管令人讨厌的不必要的(解决方法是在成员声明中添加初始值设定项大括号:
const uint32_t value{ 0 };
不确定为什么代码分析器会犯这个错误 - 可能是因为你没有定义赋值运算符?不过,更可能只是一个错误!
编辑:在VS2019(社区(中,您的代码给出:
warning C4626: 'Dummy': assignment operator was implicitly defined as deleted
但是当我添加:
Dummy& operator = (Dummy& rhs) = delete;
到班级,我没有得到你的26495警告!?
相关文章:
- 检查由括号、方括号和大括号组成的一组方括号是否有效?
- 检查一个数组是否包含在另一个数组中,以相反的顺序,至少两次
- 在运行时检查继承是否只有一种类型和 void*
- 静态代码检查器抱怨.虚惊一场?
- 编写了一个C++代码来检查表达式是否具有平衡括号并且我的代码未运行.我已经卡了一天了
- 在做一段时间内检查字符的无限循环
- 如何更好地检查两个 char 变量是否在一组值中?
- C++ "error: use of overloaded operator '*' is ambiguous"似乎只有一场比赛
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 如何检查cin是否与数组中的一组数字匹配
- 在c++中,如何检查一个数组的元素是否也是另一个数组中的元素
- 有没有一种简单的方法来检查C++中的不安全表达式
- 如何检查 int 中是否恰好设置了一位?
- 如何检查导致转储的错误发生在哪一毫秒?
- 我可以一次检查一小堆布尔值吗?
- LIBZIP 是否提供了一种检查zip_file是否是目录的方法?
- Boost或标准库是否提供了一种检查演员阵容是否无损的方法
- 另一种检查应用程序是否安装在MAC OS X上的方法
- 为什么在c++中将指向对象的指针或引用返回到内存堆是一场灾难
- C++构建模板数组成了一场混乱