C++ 获得'-inf&x27;从函数返回
我有一个简单的函数“chs”,它可以把一个正数变成负数,把一个负数变成正数。然而,出于某种原因,它返回'-inf',我假设它意味着无限 功能代码:C++ 获得'-inf&x27;从函数返回,c++,C++,我有一个简单的函数“chs”,它可以把一个正数变成负数,把一个负数变成正数。然而,出于某种原因,它返回'-inf',我假设它意味着无限 功能代码: double chs (double token) { return (token * -1); } 主要代码: chs (-5); 函数签名返回void void chs (double token) 这意味着您的函数实际上不返回任何内容,因此返回的内容都是未定义的 解决方法是简单地用一个双精度的替换void,如下所示: double c
double chs (double token) {
return (token * -1);
}
主要代码:
chs (-5);
函数签名返回void
void chs (double token)
这意味着您的函数实际上不返回任何内容,因此返回的内容都是未定义的
解决方法是简单地用一个双精度的替换void
,如下所示:
double chs (double token)
std::abs()有什么问题?而且返回void
(无)的函数不应返回值。这只是一个断开的代码。您的函数签名声明它返回void
,但您返回的是一个double
。然后使用结果,这是未定义的行为。您应该在编译器上启用(并注意)警告,以避免此类错误。你是如何打印的?@JesperJuhl std::abs的错误在于它没有做OP想要做的事情(即反转输入参数的符号),也不需要乘以负数:return-token代码>对不起,空白本应该是双重的。我的打字错误