这是我的代码:
//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
循环后声明变量?
答案 0 :(得分:5)
Visual Studio 2012仅支持C89方言。
C89方言强迫您在同一个区块中的陈述之前放置声明。
要解决此错误,请在temp
声明后立即移动i
声明。