我有以下字典代码。
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(使用前将#替换为@)