gpt4 book ai didi

C++ int 我没有在 for() 中声明

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:47 25 4
gpt4 key购买 nike

我正在 VS2008 中转换一个旧的 VC6 项目,由于某种原因,2008 将 int i 视为未声明,如果它是在 for() 中声明的。

在代码中他们多次这样做:

for(int i = 0; ... ; i++)

...

for(i = 0; ... ; i++)

if(i = RANDOM_NUMBER)

它给我 int i is not declared 错误,所以我必须将 int i = 0 放在每个方法的顶部。有没有解决的办法?我对 C++ 不是很熟悉。

最佳答案

如果你只是想继续使用代码而不修复它,你可以给微软当前的编译器 -Zc:forScope- 开关来强制编译器遵循一些规范的规则几十年前(大约)。

显然,我不能保证他们的编译器会无限期地继续支持它,所以我仍然会考虑将更新这段代码作为一个相当高的优先级,但是编译器开关会让你避免它现在,并分配一个优先级,而不是要求立即修复它以继续使用代码。

有趣的是:VC++ 6 中的编译器实际上能够遵循当前规则(但默认情况下没有)。但是,强制执行正确范围的开关在实践中是不可用的,因为编译器中包含的许多(大多数?)标准 header 取决于使用该开关禁用的非标准行为。

关于C++ int 我没有在 for() 中声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21083981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com