我在写一个绘图程序,程序中加加入一个函数
class CGraph:public CObject
{
...
public:
virtual void Serialize(CArchive &ar)=0;
DECLARE_SERIAL(CGraph)
};
//////////////////////////////////
IMPLEMENT_SERIAL(CGraph,CObject,0)...
每一个图形都派生于CGraph类,并在CGraph的派生类中实现Serialize函数,但是程序在编译的时候出现了错误
C2259,这是怎么回事呀?
最关键的是我不知道怎么改呀?
十分紧急
class CGraph:public CObject
{
...
public:
virtual void Serialize(CArchive &ar)=0;
DECLARE_SERIAL(CGraph)
};
//////////////////////////////////
IMPLEMENT_SERIAL(CGraph,CObject,0)...
每一个图形都派生于CGraph类,并在CGraph的派生类中实现Serialize函数,但是程序在编译的时候出现了错误
C2259,这是怎么回事呀?
最关键的是我不知道怎么改呀?
十分紧急
解决方案 »
- 如何让应用程序以管理员身份进行安装执行 VC代码实现
- 求一个小例子。
- 我做的启动画面为何无法显示?
- 和高手探讨一下PE文件下idata段的疑问
- 关于关机的问题
- 我在CWND的子类中添加了菜单,但怎么不显示出来?
- 问一个菜鸟问题...........
- 谁能给我讲一下Active, UIAcitive, DeActive这些函数是干什么的
- ::send(....)和::recv(....),解决就给分!
- 生成一个DialogBar以后,一个控制条上出现一个可停靠的窗体,但它不能把整个控制条充满,怎么办?谢谢。(这个问题在上面放了10天也没人会)
- 有一些关于界面的问题想请大家帮忙解答一下
- vs2008sp1下新建MFC时,使用向导后编译不通过出现问题,请帮我解决。
你没有在派生类里面实现函数:Serialize,因为这个在基类是纯虚函数,如果子类不实现它,那么子类就也是虚类,因此子类也不能创建对象了.(eg CLine line)
记着在每个子类中都实现它.
C1 Complier的C2259就是这样提示,你要确认你的所有使用的子类中都实现了Serialize函数.
CGraph objGraph; //因为CGraph还是个纯虚类。
但是你可以这样用:
CGraph *pGraph = new CLine; //其中CLine为CGraph的子类.