如何使'C4700:未初始化的局部变量'在发布模式下出错

时间:2016-02-18 16:04:43

标签: c++ visual-studio compiler-errors

嗯,这是我的问题。我不知道如何在发布模式下实现这一点,因为编译器甚至没有发出警告(我确实知道如何通过/ we选项强制发出警告错误)。我尝试过推送几个选项,包括将警告级别提高到ALL;我尽我所能谷歌并尝试了微软关于此警告的文档,没有任何好结果,而且我的想法已经用完了。

我正在使用Visual Studio 2012。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

我发现了问题。问题是代码的这一部分是在我的解决方案的几个项目中的一个(这个特定的一个生成静态库),并且在发布模式下,“整个程序优化”被标记为“使用链接时间代码生成”默认情况下(/GL)。错误确实表现出来,但仅在链接时 !!由于我只是编译源代码,我之前没有看到它。

我认为这是一个缺点,但我想编译器不会事先知道代码的那部分是否会被剥离。仍然,编译器能否更好地检测到这一点?我的解决方案需要几分钟才能编译,之后我才看到错误。线索是,当我关闭整个程序优化时,我立即看到了错误。

感谢大家的帮助。