当你在main函数中只写了两行代码:
- cout << "C++" << endl;
- return 0;
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“acosf”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2059: 语法错误:“;”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“asinf”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2059: 语法错误:“;”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2061: 语法错误: 标识符“atanf”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2059: 语法错误:“;”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2061: 语法错误: 标识符“atan2f”
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2059: 语法错误:“;”
……
fatal error C1003: 错误计数超过 100;正在停止编译
出现这种情况是因为编译器将C++文件编译为C导致的。
解决方法如下:
1. 如果你的main文件后缀为C,改为cpp即可
2. 如果你发现main文件后缀为cpp,这时可能是你的IDE设置的问题了,属性管理器>>通用属性>>C/C++>>高级>>编译为,如果编译为里面为C,改为默认值即可
3、单个CPP文件上设置。
二、调用C++文件中的函数
1 普通函数
// C++ Code
extern "C" int foo( int x )
{
//...
}
这样,编译器会将foo函数编译成类似_foo符号,而不会编译成类似_foo_int符号
则C可以这样调用C++函数
// C Code
int foo( int x );
void cc( int x )
{
foo( x );
//...
}