在使用静态const作为大小的类定义中设置std :: array的大小时,cppcheck不知道数组的大小。所以它认为我不在时会超出范围
执行#define似乎可以解决问题,所以这是一个学术问题。
class A
{
A() : myArr()
{
myArr[0]=100;
}
static const int SOMEVAL = 4;
std::array<double, SOMEVAL+1> myArr;
int getVal() { return myArr[1]; };
}
int main(void)
{
A myA;
myA.getVal();
}
有什么想法吗?
答案 0 :(得分:1)
这是cppcheck中的缺陷:
https://trac.cppcheck.net/ticket/9202
在1.89版本中已修复的问题:
https://trac.cppcheck.net/changeset/121093658d788126d5f94792c4ea00447fdbb979/