`a';的名称查找;更改为新的ISO`for';范围界定 我试图解决这个错误,我进入C++。我看过StackOverflow上的类似问题,但我似乎找不到我的特定解决方案的错误。我不知道为什么它不起作用,据我所知,嵌套for循环以这种方式工作得很好。如果你有解决办法,请告诉我
注意:这只是一个代码片段。以上定义了所有变量我在第7行得到错误。 以下是确切的错误消息:`a';的名称查找;更改为新的ISO`for';范围界定 我试图解决这个错误,我进入C++。我看过StackOverflow上的类似问题,但我似乎找不到我的特定解决方案的错误。我不知道为什么它不起作用,据我所知,嵌套for循环以这种方式工作得很好。如果你有解决办法,请告诉我,c++,for-loop,C++,For Loop,注意:这只是一个代码片段。以上定义了所有变量我在第7行得到错误。 以下是确切的错误消息: 50 C:\Users\ryang\Desktop\check install\Untitled1.cpp name lookup of `a' changed for new ISO `for' scoping 代码: for(int a=0;a临时>>临时2; 如果(临时==“公司”) 资产[a][b]=temp2; 其他的 { 数量工作站[a]=b; 打破 } } } 在for循环中放置变量时
50 C:\Users\ryang\Desktop\check install\Untitled1.cpp name lookup of `a' changed for new ISO `for' scoping
代码:
for(int a=0;a<500;a++)
资产[a][0]=临时+临时2;
对于(int b=1;b<6;b++)
{
用户资产>>临时>>临时2;
如果(临时==“公司”)
资产[a][b]=temp2;
其他的
{
数量工作站[a]=b;
打破
}
}
}
在for循环中放置变量时,它仅在for循环中定义。因此,当你有:
for(int a = 0; a < 500; a ++)
assets[a][0] = temp + temp2;
for(int a=0;a<500;a++)
资产[a][0]=临时+临时2;
for循环在这里以分号结束,因此变量a
现在不在范围内
您需要的是将
循环用大括号括起来,以避免出现这种情况。我建议总是在for循环中使用大括号。出于这个原因,我的公司编码标准明确要求使用大括号,以避免遇到您在这里遇到的问题。在for循环中放置变量时,它仅在for循环中定义。因此,当你有:
for(int a = 0; a < 500; a ++)
assets[a][0] = temp + temp2;
for(int a=0;a<500;a++)
资产[a][0]=临时+临时2;
for循环在这里以分号结束,因此变量a
现在不在范围内
您需要的是将循环用大括号括起来,以避免出现这种情况。我建议在循环中始终使用大括号。出于这个原因,我的公司编码标准明确要求使用大括号,以避免遇到您在这里遇到的问题。我想您忘记了第一个循环后的大括号({
)。我想您忘记了大括号({
)在第一次循环之后。将准确的错误消息粘贴到问题中。请澄清“它不起作用”。在问题中提供预期结果、实际结果和任何相关输入数据。将准确的错误消息粘贴到问题中。请澄清“它不起作用”。在您的问题中,提供预期结果、实际结果和任何相关的输入数据。为什么会出现这种情况?我认为for循环包含{}中的所有内容。我不能在彼此之间嵌套for循环吗?可能的解决方法是什么?我觉得自己像个白痴。我所做的只是忘记了开头的大括号。谢谢!对“;”的理解很好。我被缩进愚弄了。@ThomasMatthews我一开始太傻了,这正是许多编码标准不允许这种for循环的原因,很难一眼看出。为什么会发生这种情况?我认为for循环包含{}中的所有内容。我不能在彼此之间嵌套for循环吗?可能的解决方法是什么?我觉得自己像个白痴。我所做的只是忘记了开头的大括号。谢谢!对“;”的理解很好。我被缩进愚弄了。@ThomasMatthews我一开始太傻了,这正是许多编码标准不允许这种for循环的原因,很难一眼看出.