C++错误收集

今天编译代码是出现报错,报错部分如下:

1>e:\visual studio 2012\vc\include\xtgmath.h(112): warning C4193: #pragma warning(pop) : 没有匹配的“#pragma warning(push)”
1>e:\visual studio 2012\vc\include\xtgmath.h(113): warning C4161: #pragma pack(pop...) : 出栈的比入栈的多
1>e:\visual studio 2012\vc\include\cmath(28): error C2061: 语法错误: 标识符“acosf”
1>e:\visual studio 2012\vc\include\cmath(28): error C2059: 语法错误:“;”
1>e:\visual studio 2012\vc\include\cmath(28): error C2061: 语法错误: 标识符“asinf”
1>e:\visual studio 2012\vc\include\cmath(29): error C2061: 语法错误: 标识符“atanf”
1>e:\visual studio 2012\vc\include\cmath(29): error C2059: 语法错误:“;”
1>e:\visual studio 2012\vc\include\cmath(29): error C2061: 语法错误: 标识符“atan2f”
1>e:\visual studio 2012\vc\include\cmath(29): error C2061: 语法错误: 标识符“ceilf”
……
……

C++代码:

#include <iostream>
using namespace std;

class Time
{
public:
	void set_time()
	{
		cin >> hour;
		cin >> minute;
		cin >> sec;
	}
	void show_time()
	{
		cout << hour << ":" << minute << ":" << sec <<endl;
	}
private:
	int hour;
	int minute;
	int sec;
};

int main()
{
	Time t;
	t.set_time();
	t.show_time();

	return 0;
}
仔细检查后没发现有语法错误,在网上寻找答案,最终在CSDN论坛中发现解决方法,帖子地址为: http://bbs.csdn.net/topics/380232154
帖子回复中指出出现这种错误有三种原因,原因如下:
(1).使用了std命名空间(usning namespace std;),而没有包含使用的头文件。如用了数学函数而没有包含头文件cmath(C++)或者math.h(C)
(2).包含头文件是将头文件名写错。如#include <math.h> 写成#include <math>。
(3).将源文件名写成了C的格式。如main.cpp保存时保存为main.c(我犯的就是这个错误)。

你可能感兴趣的:(C++,cmath)