gpt4 book ai didi

c++ - 视觉未声明的标识符?

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

我正在使用 visual studio 2010,当我做类似的事情时

for(int i = 0, j = 0; i < 10; i++)
{
if(m_Var == 1)
j++;
}

if(j == 0)//This line errors undeclared identifier
DoSomething();

我已经在 for 循环中声明了 j 那么为什么会出现“未声明的标识符”错误?

另一个例子是

for(int i = 0; i < 10; i++)
{
m_Var1++;
}

for(i = 0; i < 200; i++)//This line errors undeclared identifier
{
m_Var2++;
}

尽管在 for 循环中声明了代码错误,但为什么呢?有没有一种方法可以做到这一点而不必像上面的例子那样在循环之前声明 i 而在循环中声明它?

最佳答案

在第一个例子中,j只存在于循环范围内

for(int i = 0, j = 0; i < 10; i++)
{
if(m_Var == 1) j++;
} // i, j exist no longer

在第二个例子中,同样适用于i。它的范围是第一个循环。您甚至可以在没有循环的情况下检查它:

{
int i = 0;
} // end of scope, end of i

i++; // error,

关于c++ - 视觉未声明的标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155717/

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