16 7 C:\Users\jyt\Desktop\p1.cpp [Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
时间: 2024-05-04 09:21:01 浏览: 188
jyt:JSON,YAML和TOML之间的代码转换
这个错误通常是由于在 for 循环中定义的变量在循环外部也存在同名变量,导致编译器无法确定变量的作用域。解决方法有两种:
1. 将循环变量的定义放在循环外部。这样可以避免命名冲突。
2. 使用不同的变量名。如果你需要在循环外部使用同名变量,可以使用不同的变量名来避免冲突。
例如:
```c++
int main() {
int i = 0;
for (int j = 0; j < 10; j++) {
// do something
}
return 0;
}
```
在这个例子中,循环变量 j 的作用域仅限于 for 循环内部,不会影响到外部的变量 i。
阅读全文