"a"的名称查找更改为新的 ISO"for"范围
name lookup of `a' changed for new ISO `for' scoping
我正在尝试解决c++中出现的这个错误。我在StackOverflow上看过类似的问题,但我似乎找不到我的特定解决方案的错误。我不知道为什么它不起作用,从我的知识来看,嵌套的for循环工作得很好。如果你有解决办法,请告诉我。
注意:这只是一个代码片段。上面定义了所有变量。
下面是准确的错误信息:50 C:UsersryangDesktopcheck installUntitled1.cpp name lookup of `a' changed for new ISO `for' scoping
代码:for(int a = 0; a < 500; a ++)
assets[a][0] = temp + temp2;
for(int b = 1; b < 6; b ++)
{
userAssets >> temp >> temp2;
if(temp == "CorporateIT")
assets[a][b] = temp2;
else
{
numWorkstations[a] = b;
break;
}
}
}
当你在for循环中放置一个变量时,它只在for循环中定义。所以当你输入:
for(int a = 0; a < 500; a ++)
assets[a][0] = temp + temp2;
for循环在分号处结束,因此变量a
现在不在作用域中。
你需要的是你的for
循环用大括号括起来,以避免这种情况。出于这个原因,我建议总是在for循环周围使用大括号,我公司的编码标准明确要求这样做,以避免遇到您在这里遇到的确切问题。
我想你在第一个for
循环之后忘记了左括号({
)
相关文章:
- "error: no matching function for call to"构造函数错误
- 表示"accepting anything for this template argument" C++概念的通配符
- 如何在C++中从两个单独的for循环中添加两个数组
- 在Linux for Windows上编译C++代码时出错
- 调用专用模板时出错"no matching function for call to [...]"
- 为什么我的for循环不能正确获取argv
- 为什么我不能在 FOR LOOP 中使用 i/10,C++?
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 在基于范围的for循环中使用结构化绑定声明
- 通过for循环使用用户输入填充列表
- 使用for循环检查数组中的重复项
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 正在使用for循环创建QScatterSerie
- DEV C++ 第 69 行 [错误] ISO "for" 范围更改了"i"的名称查找 [-允许]
- 错误:ISO 'for'范围更改了'i'的名称查找
- 我的程序收到错误"name lookup of 'a' changed for ISO 'for' scoping "
- 错误:ISO ' for '作用域更改了' x '的名称查找
- 错误消息:"jj"的名称查找已更改为ISO"for"范围,(如果您使用"
- "a"的名称查找更改为新的 ISO"for"范围