无效的预处理指令,为什么?

//这个的文件名是:angle.h
#ifndef_ANGLE_H
#define_ANGLE_H
class CAngle
{
private:
double angle_deg;
double angel_rad;
public:
void setAngel(double ang_in_deg);
double getSin();
double getCos();
double getAngel();
};
#endif
//这个的文件名是:angle.cpp
#include<iostream>
#include<math.h>
#include"angle.h"
using namespace std;

const double PI=3.1415926;

void CAngle::setAngel(double ang_in_deg)
{
ang_deg=ang_in_deg;
ang_rad=PI*ang_in_deg/180.0;
}

double CAngle::getSin()
{
return sin(ang_rad);
}

double CAngle::getCos()
{
return cos(ang_rad);
}

double CAngle::getAngel()
{
return ang_rad;
}

void showInfo()
{
cout<<"This is my second C++ program "<<endl;
}

void main()
{
double ang_deg;
CAngle angle;

showInfo();
cout<<"please enter an angle in degree:";
cin>>ang_deg;
angle.setAngel(ang_deg);
cout<<"The sine of "<<ang_deg<<" is "<<angle.getSin()<<endl;
cout<<"The cosine of "<<ang_deg<<" is "<<angle.getCos()<<endl;
}

运行之后,出现:fatal error C1021: invalid preprocessor command 'ifndef_ANGLE_H'
为什么?
1楼的不行啊~会出现更多的问题~

第一个问题是#ifndef和#define后面缺少必须的空格,修改如下:

#ifndef _ANGLE_H
#define _ANGLE_H

第二个问题是对CAngle类中的成员函数的实现过程中,使用的成员变量名称有误,类定义中的两个成员变量名分别是angle_deg和angel_rad,而后面的实现中却成了ang_deg和ang_rad
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-04
改成:
#ifndef _ANGLE_H
#define _ANGLE_H
中间加个空格