0

我有一个在vector <vector <double> >. 在某些时候,我想在比较中使用元素的绝对值,但我遇到了错误的行为,所以我输入了以下调试行:

std::cout << M[3][2] << " " << abs(M[3][2]) << "\n";

令人惊讶的是,输出是:

0.667 0

为什么是这样?

4

1 回答 1

8

您可能正在调用or中定义的 ,的积分重载之一,因此您的论点被截断。abs<stdlib.h><cstdlib>

你应该#include <cmath>拿起浮点重载。

于 2015-04-01T21:44:07.453 回答