Valgrind错过了未初始化的价值警告

时间:2014-12-18 09:27:20

标签: c++ c valgrind

有一个变量标记'用于表示特定场景是真还是假:

char             flag;

此变量是类的一部分,未初始化为任何值。

随后在以下代码段中使用:

if(a)
{
------
}
else if(flag)
{
-----
}
else if(b)
{
------
}

当使用MemCheck运行Valgrind时,没有条件跳转或移动取决于Valgrind抛出的未初始化值警告,即使 else if(flag)代码段被击中。

变量' b'也没有初始化,但Valgrind正确地发出警告。

对于为什么Valgrind会错过' flag' 变量的警告,是否有任何可能的解释?是否由于某种编译器优化?

先谢谢..

0 个答案:

没有答案