error C2143: 语法错误 : 缺少“{”(在“:”的前面)编译错误的解决

最近写程序遇到如下问题:

编译时编译器提示一堆如下错误:

c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/cerrno(18): error C2143: 语法错误 : 缺少“{”(在“:”的前面)
找了很长时间,最终的原因是:在我的源文件中使用了C++的库函数,但是我却将这个源文件的后缀名写成.c而不是.cpp,将其后缀名写成.cpp后问题解决.例如如下代码:

#include <iostream>
#include <stdio.h>
using namespace std;

void main()
{
 printf("%s/n", "test1");
 cout<<"test2"<<endl;
}

如果将其源文件写成"test.c"时,编译器将会提示如上错误,如果写成"test.cpp"时,编译通过.

结论:如果源文件中包含有C++的库或者函数,在一定将其文件名的后缀写成.cpp而不是.c

你可能感兴趣的:(c,.net,编译器)