-1

我正在对程序运行 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 () 方法中的一行指示为问题?

4

0 回答 0