在VS2012中for循环后无法声明变量

时间:2015-08-29 09:41:18

标签: c visual-studio-2012

这是我的代码:

//main.c
int main()
{
    int i=0;
    for (i = 0; i < 10; i++)
    {
        //do nothing
    }
    int temp = 0;
    return 0;
}

代码可以用我的clang(602.0.49)编译,但在VS 2012中产生error C2143

  

错误C2143:语法错误:缺少';'在'type'之前

将后缀修改为.cpp或删除int temp = 0;

后,一切都很顺利

这是否意味着我无法在C项目中for循环后声明变量?

1 个答案:

答案 0 :(得分:5)

Visual Studio 2012仅支持C89方言。

C89方言强迫您在同一个区块中的陈述之前放置声明。

要解决此错误,请在temp声明后立即移动i声明。