vc.net:无法设置double变量的值

时间:2013-02-26 02:36:25

标签: c++ visual-studio-2005 double

开发环境:Visual Studio 2005 语言:c ++

运行此行后:

g_Frm->streamValue[0].dayAvgValue[0] = 1

我已设置g_Frm->streamValue[0].dayAvgValue[0] = 1;
g_Frm->streamValue[0].dayAvgValue[0] is type of double

但是在观察窗口中,当变量初始化时,它仍然显示为-6.2774 ... e + 066。

需要帮助!

1 个答案:

答案 0 :(得分:0)

两个想法:

  • 检查您引用的构造中的变量是否已定义。

即。 g_Frm有效吗? g_Frm-> streamValue是一个有效的数组吗?是g_Frm-> streamValue [0]有效的数组和索引值?是g_Frm-> streamValue [0] - > dayAvgValue有效数组?

如果您尝试访问的变量链中的任何变量未初始化,那么您将获得一些未定义的行为。确保你已经分配了内存和有效的索引值(一般来说,在第0个元素的情况下,只要那里有元素,你就可能很好)。

  • 如果其他所有内容都有效,请检查您是否有关于隐式类型转换的警告。 32或64位整数值“1”是与浮点/双精度值“1.0”基本上不同的值。在int world中,你的LSB(最低有效位)是1,但在浮动世界中,它代表一个非常小的小数值。