double 类型的 C++ 变量总是将它们的值更改为 -9,25596e+061

标签 c++ vector double iostream visual-c++-2010-express

我有一个由直线组成的二维图形。

图形的边缘具有 double 类型的坐标。坐标值存储在名为 Dot 的对象中。

与直线相关的数据(直线升序或降序,“a * X + b == Y”中“a”和“b”的值等)存储在一个名为 Line 的对象中。 Line 类还有两个 Dot 对象,表示每条线的两端。 Line 类也有 2 个函数/方法和一个构造函数。构造函数没有参数。第一个函数/方法没有参数,第二个有。创建这两个函数/方法是为了在必要时自动更改所有数据。

我在启动程序后插入图形的边数和边的坐标。稍后程序必须在屏幕上写下每一行的所有内容。无论我插入什么坐标,第一个点的坐标都是 X = -9,25596e+061 和 Y = -9,25596e+061。但其他点具有我最初插入的坐标。

有一条线添加到 vector 中的次数与图形的边数一样多。之后,我开始更改图形边缘的坐标值(通过将值插入正在运行的程序中)。第三个 Action 是调用“创建”线条的函数/方法(它计算关于线条的其余数据)。程序的第四步是在屏幕上写出每行的数据。

我一直在寻找算法和代码中的问题。我还没有找到任何东西。

我正在使用 Visual C++ 2010 Express。我也在使用 iostream 和 vector 库。

那么为什么第一条边的 X 和 Y 坐标将它们的值更改为 -9,25596e+061?

最佳答案

好的,问题似乎出在代码中。我没有正确初始化...必须交换两个变量的位置才能解决问题。多亏了 Hans Passant 和 Baltram,我才知道在哪里搜索问题:从任何类型的数组调用元素时。

是的,做这种事的时候一定要小心。

关于 double 类型的 C++ 变量总是将它们的值更改为 -9,25596e+061,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8639803/

相关文章:

python - 将分量求和为字符串

c++ - cout 随机坐标 vector n 次

java - java中的十进制数字总和

java - 从java中的二进制文件读取Double时得到错误的值

c++调试递归函数并且它不会立即退出函数

c++ - 求和特定数字以获得 100 的不同方法

c++ - 如何使用 QSqlQuery 和 SQLite 从新插入的行中获取 ID?

C++ 数据结构

matlab - 以特定的非连续顺序连接向量

C/C++ 将 double 转换为具有最少非零数字的定点数