vc.net:无法设置双精度变量的值

vc.net: cannot set double variable's value

本文关键字:双精度 变量 设置 net vc      更新时间:2023-10-16

开发环境: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。

需要帮助!

两个想法:

  • 请检查所引用的结构中的变量是否已定义

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

如果您试图获取的变量链中的任何变量都没有初始化,那么您将获得一些未定义的行为。确保已经分配了内存和有效的索引值(通常,在第0个元素的情况下,只要有元素,就很可能是好的(。

  • 如果其他所有内容都有效,请检查是否有关于隐式类型转换的警告。32位或64位整数值"1"与浮点/双精度值"1.0"有很大不同。这意味着在int世界中,LSB(最低有效位(是1,但在浮点世界中,它代表一个极小的分数值