变量可能尚未初始化[MIRA 2012规则9.1,强制性]
Variable may not have been initialized [MISRA 2012 Rule 9.1, mandatory]
我有一个函数,它以秒为输入,并将其转换为时间和日期。然而,我遇到了关于数组变量"cumDaysInMonths"可能尚未初始化的警告[MIRA 2012规则9.1,强制性]。我已经初始化了它,然后在循环中更新。警告同时在两行和链接中。
初始化如下:
unsigned short cumDaysInMonths[MONTHS_IN_A_YEAR] = {0,31,59,90,120,151,181,212,243,273,304,334};
循环内的用法如下:
for(list_index = 2; list_index < MONTHS_IN_A_YEAR; list_index++)
{
cumDaysInMonths[list_index]++;
}
我不明白这个警告的原因以及如何修复它?
这很可能是静态分析器中的一个错误,它在您提到的两行上都检测到假阳性
这是静态分析中的一个常见问题,甚至IEEE也有一篇关于消除这种误报的论文。
在右侧的相关问题中,我可以看到至少一个问题与MISRA C++误报警告有关。
相关文章:
- 此代码是否违反一个定义规则
- 生成文件不对文件使用隐式规则
- 变量可能尚未初始化[MIRA 2012规则9.1,强制性]
- 静态结构和一个定义规则
- 尽管遵循了规则,内存泄漏在哪里
- 这是关于成员访问规则的正确摘要吗
- uint_not_usable_without_attribute在业力规则中使用数字生成器时静态断言失败
- 增强精神解析器规则以检测语句中的特殊结尾
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- 为什么此指针值不能转换为整数的规则是什么?
- 传递通用函数,用于梯形规则的数值积分
- C++内存模型中的确切规则阻止在获取操作之前重新排序
- 模板如何影响C++中隐式声明的规则?
- antlr 规则上下文是否可以独立于目标
- Bison/flex 在识别规则后等待输入
- 生成文件中隐式规则中的 -c 标志出错
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- 单链接列表实现,规则为 3
- 指针算术规则中的"possibly-hypothetical"是什么意思?
- 联合攻击战斗机(JSF)的排名C++编码标准的强制性规则