错误C2065:'我' :在C中迭代时未声明的标识符

时间:2014-06-17 13:01:18

标签: c visual-studio-2010 visual-studio

我的代码一直生成错误: 错误C2065:'i':在C中迭代时未声明的标识符

这是它特别抱怨的部分:

for (int i = 0; i < (gamesToPlay); i++)
{
    printf("You are now playing game %d\n", i);
}

我做错了什么吗?我正在使用带有.c文件的VS 2010进行编译。

3 个答案:

答案 0 :(得分:7)

Visual Studio 2010仅支持C89,而不支持C99。在C89中,必须在块的开头声明变量,如下所示:

void foo(void)
{
    int i;

    for (i = 0; i < gamesToPlay; i++)
    {
        //do something
    }
}

答案 1 :(得分:1)

i

之外声明for
int i;
for (i = 0; i < (gamesToPlay); i++)
{
    printf("You are now playing game %d\n", i);
}

答案 2 :(得分:1)

for语句中的第一个表达式可以是C99中引入的声明。 VS 2010不支持C99,这就是您收到此错误的原因。如在C89中那样在块的开头声明i

int i;
...

for (i = 0; i < (gamesToPlay); i++)
{
    printf("You are now playing game %d\n", i);
}