这是我的代码:
//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
:
error C2143: syntax error : missing ';' before 'type'
修改后缀为.cpp
或者删除int temp = 0;
就一切OK了
这是否意味着我不能在 C 项目中的 for
循环之后声明变量?
最佳答案
Visual Studio 2012 仅支持 C89 方言。
C89 方言强制您在同一 block 中将声明放在语句之前。
要修复错误,请将 temp
声明移到 i
声明之后。
关于无法在 VS2012 中的 for 循环后声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32284682/