我正在对程序运行 C++ 分析工具“Purify”,它指示以下消息:
==404163== Conditional jump or move depends on uninitialised value(s)
==404163== at 0x27EFD3DE: getColumnLength() (SomeProgram.cpp:1099)
这是相关代码的模型。
int getColumnLength()
{
int len = 0;
int type_value = 0;
type_value = getType (); // line 1099
switch (type_value) {
case 0: {
len = 0;
}
case 1: {
len = 1;
}
case 2: {
len = 2;
}
}
return len;
}
未初始化的值可能在哪里?它似乎表明它在方法“getType()”中。但是,如果是这样,为什么 Purify 消息没有将 getType () 方法中的一行指示为问题?