Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果未初始化变量为负值,如何检查该变量?_C++_Variables - Fatal编程技术网

C++ 如果未初始化变量为负值,如何检查该变量?

C++ 如果未初始化变量为负值,如何检查该变量?,c++,variables,C++,Variables,我想使用if语句检查变量是否为负值 我开始学习编码,我需要帮助解决一个简单的问题,但我还没有解决方案 Fraction Fraction::divide(const Fraction &f) { Fraction tmp; if(tmp.denum<0) //uninitalized local variable used { tmp.denum*=-1; } tmp.num = (num*f.denum); tmp.denum = denum*f.num;

我想使用if语句检查变量是否为负值

我开始学习编码,我需要帮助解决一个简单的问题,但我还没有解决方案

Fraction Fraction::divide(const Fraction &f)
{
Fraction tmp;
if(tmp.denum<0) //uninitalized local variable used
    {
    tmp.denum*=-1;
    }
tmp.num = (num*f.denum);
tmp.denum = denum*f.num;
return tmp;
}

无法检查它,因为读取它会导致未定义的行为。不管它给出什么结果都无关紧要。

它未初始化-它没有任何有效值。你为什么要在意它碰巧装着的垃圾的标志?无论如何,访问未初始化的对象都显示了未定义的行为。注意C++在技术上没有提供访问未初始化值的方法。为什么你认为你需要这样做?如果你想使用它,没有理由不初始化它。tmp.denum的所有这些操作的意义是什么,当你以后给它赋值的时候?函数的一半没有任何意义。然后将其初始化为零。