最近写程序遇到如下问题:
编译时编译器提示一堆如下错误:
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