自己在单文档工程里添加的.h文件和.cpp文件,
在运行时DECLEAR_SERIAL宏的一行编译通不过,
头文件和实现文件的全部代码如下DrawLine.h文件:#ifndef DRAWLINE_H
#define DRAWLINE_Hclass CDrawLine: public CObject
{
DECLEAR_SERIAL(CDrawLine) //声明宏
public:
CDrawLine(CPoint pStar,CPoint pEnd); //构造函数
virtual ~CDrawLine();
void Draw(CDC *pDC); //绘制直线
CDrawLine(); //不带任何参数的构造函数 virtual void Serialize(CArchive &ar); //声明序列化函数protected:
CPoint m_Star,m_End; //起点、终点坐标
};#endif
DrawLine.cpp文件:#include "stdafx.h"
#include "DrawLine.h"CDrawLine::CDrawLine(CPoint pStar,CPoint pEnd)
{
m_Star=pStar;
m_End=pEnd;
}void CDrawLine::Draw(CDC *pDC)
{
pDC->MoveTo(m_Star.x,m_Star.y); //绘制线条
pDC->LineTo(m_End.x,m_End.y);
}CDrawLine::~CDrawLine()
{
}IMPLEMENT_SERIAL(CDrawLine,CObject,1)CDrawLine::CDrawLine() //不带参数的构造函数的实现
{
}void CDrawLine::Serialize(CArchive &ar) //序列化函数的实现
{
if(ar.IsStroing()) //进行存档处理
{
ar<<m_Star<<m_End;
}
else //进行读档处理
{
ar>>m_Star>>m_End;
}
}编译以后出现12个错误,
第一个错误是
drawline.h(7) : error C2143: syntax error : missing ';' before 'public'
请问这错误究竟是什么原因,
谢谢
在运行时DECLEAR_SERIAL宏的一行编译通不过,
头文件和实现文件的全部代码如下DrawLine.h文件:#ifndef DRAWLINE_H
#define DRAWLINE_Hclass CDrawLine: public CObject
{
DECLEAR_SERIAL(CDrawLine) //声明宏
public:
CDrawLine(CPoint pStar,CPoint pEnd); //构造函数
virtual ~CDrawLine();
void Draw(CDC *pDC); //绘制直线
CDrawLine(); //不带任何参数的构造函数 virtual void Serialize(CArchive &ar); //声明序列化函数protected:
CPoint m_Star,m_End; //起点、终点坐标
};#endif
DrawLine.cpp文件:#include "stdafx.h"
#include "DrawLine.h"CDrawLine::CDrawLine(CPoint pStar,CPoint pEnd)
{
m_Star=pStar;
m_End=pEnd;
}void CDrawLine::Draw(CDC *pDC)
{
pDC->MoveTo(m_Star.x,m_Star.y); //绘制线条
pDC->LineTo(m_End.x,m_End.y);
}CDrawLine::~CDrawLine()
{
}IMPLEMENT_SERIAL(CDrawLine,CObject,1)CDrawLine::CDrawLine() //不带参数的构造函数的实现
{
}void CDrawLine::Serialize(CArchive &ar) //序列化函数的实现
{
if(ar.IsStroing()) //进行存档处理
{
ar<<m_Star<<m_End;
}
else //进行读档处理
{
ar>>m_Star>>m_End;
}
}编译以后出现12个错误,
第一个错误是
drawline.h(7) : error C2143: syntax error : missing ';' before 'public'
请问这错误究竟是什么原因,
谢谢
DECLEAR_SERIAL宏的具体含义看过了,
没什么收获 囧
我晕,多谢楼上,声明这词应该是declare……我倒……,再次感谢……