在VC中(无论VC6.0还是VS2005),如果建立的是一个C文件(后缀为.c而不是.cpp),如以下一段程序:
#include <iostream>
using namespace std;
void pp(int a){
cout << a << endl;
}
void p(int a){
pp(a);
int b = 0;//应该放在最前面
pp(b);
}
int main(){
int a = 0;
p(a);
return 0;
}
保存为
test.c
error C2143: 语法错误 : 缺少“{”(在“:”的前面)
error C2059: 语法错误 : “:”
总共一百多个错误
原来在VC中编译c程序,在一个大括号括起的范围内,如果变量声明放在了函数调用的后面,那么编译就会出错。而在其他一些标准C/C++编译器中是不会出现这个错误的。