【发布时间】:2013-06-26 14:35:00
【问题描述】:
我正在使用 VS2010。我的调试版本运行良好,但我的发布版本一直在崩溃。因此,在发布版本模式下,我右键单击项目选择调试,然后选择启动新实例。在这一点上,我看到了一个我已经声明为这样的数组
int ma[4]= { 1,2,8,4};
永远不会被初始化。关于可能发生的事情的任何建议。
【问题讨论】:
-
如何检查数组未初始化?
-
通过在其后放置一个断点。我注意到数组中没有值。我也尝试过类似
int a = ma[0];的操作,但没有显示任何值。 -
请在下面阅读我的回答。您不应信任在调试发布版本时显示的值。添加一个打印语句来检查数组的值是否设置正确,我打赌你会看到它们。
-
@IvayloStrandjev 但是当然,添加打印可能会使他的程序再次运行。变量的额外使用将改变优化器处理它的方式。 (根据他使用
ma的方式,优化器可能会完全消除它。) -
@JamesKanze 很抱歉,我不明白您的评论是什么意思