PVS-Studio,静态代码分析器,用于以下代码
size_t const n = 4;
int a[n] = {};
报告:
V112使用的危险幻数
4
:...t const n = 4;. test.cpp 3
尽管 PVS-Studio 与 Visual Studio 2017 项目一起使用,并且对 32 位和 64 位都报告了相同的警告,但分析器 AFAIU 并未考虑这些构建配置。
我本来希望能更好地分析上下文并将上面的代码视为等同于这个
int a[4] = {};
PVS-Studio 不为其发出任何诊断。
在上面的情况下,这个危险的魔法数字 N 使用过,误报吗?
上面两个代码示例没有被分析为等效的原因是什么?