-1

好的,首先我不是 cpp 专家,也不是调试器的大用户,但是......在我的程序开始时,我有这样的东西

    unsigned long totSize;
    unsigned int partSize,lastPartSize;
    unsigned short nbRessources;
    const char* folder = "TYPE";

    getSizesRessource(folder, nbRessources, partSize, lastPartSize);
    totSize = (nbRessources*partSize)+lastPartSize;

我不会谈论这段代码,我认为这并不重要。问题是这样的:调试器显示文件夹或未定义值的奇怪值,totSize 相同,但我确信 getSizesRessource 运行良好,其他变量是正确的所以为什么调试器不显示正确的值或未定义的值,即使我分配清楚吗?即使我将“1”分配给 totSize 它仍然在调试器中未定义 谢谢

4

1 回答 1

1
    unsigned long totSize;
    unsigned int partSize,lastPartSize;
    unsigned short nbRessources;

假设代码片段是函数的本地代码。以上只是在技术上声明了具有未初始化值的变量,它们持有Indeterminate 值。正如 Indeteminate 的名字所暗示的,这些值实际上可以是任何东西。

如果您正在使用该函数getSizesRessource来填充这些变量,那么您的变量应该通过引用该函数来传递,否则该函数会修改正在传递的变量的副本,并且这些更改不会反映在函数之外。

于 2013-03-17T13:03:42.440 回答