C++ 查找 i 已针对 ISO 进行更改

2024-01-02

我有以下字典代码。

void Dictionary::translate(char out_s[], const char s[])
{

for (int i=0;i<numEntries;i++)
{
   if (strcmp(englishWord[i], s)==0)
       break;
}
if (i<numEntries)
strcpy(out_s, elvishWord[i]);

这给了我错误name lookup of i changed for iso并提到如果我使用该代码将被接受-fpermissive。如果我尝试在 for 循环之外初始化变量,它会生成一大堆错误。

有任何想法吗?

提前致谢。


不是“对于 iso”(也许阅读整个错误消息...),但对于 ISO C++。问题在于该范围i变量只是for循环(因为它的定义位于循环的初始化内部)。由于您似乎想在循环之外使用它,因此可以像这样声明它:

int i;
for (i = 0; i < foo; i++) {
    // ...
}

do_safe_stuff_with(i); // valid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 查找 i 已针对 ISO 进行更改 的相关文章

随机推荐