我新建了一个模板数据类,但这个类需要序列化,我使用MFC的两个宏DECLARE_SERIAL(Data)MPLEMENT_SERIAL(Data, CObject, 0)我的PowerData是这样定义的:template <class Type>
class rData : public CObject
{
Data(short max,short min,Type value,BYTE base):_max(max),_min(min),_value(value),_base(base){};
Data(){};
DECLARE_SERIAL(Data)protected:
short _max;
short _min;
Type _value;
BYTE _base;
public:
void SetValue( Type v);
Type GetValue() ; virtual ~Data(){};
virtual void Serialize(CArchive& ar);};template <class Type void Data<Type>::Serialize (CArchive &ar)
{
if (ar.IsStoring())
{
}
else
{
}
}但程序编译下来,MPLEMENT_SERIAL(Data, CObject, 0) 一直报错,说我的模板类需要参数,但我尝试用
DECLARE_SERIAL(Data<Type>)
MPLEMENT_SERIAL(Data<Type>, CObject, 0)
错误就更多了,哪位大大能给我解决,不胜感激,定有高分奉上!谢谢!
class rData : public CObject
{
Data(short max,short min,Type value,BYTE base):_max(max),_min(min),_value(value),_base(base){};
Data(){};
DECLARE_SERIAL(Data)protected:
short _max;
short _min;
Type _value;
BYTE _base;
public:
void SetValue( Type v);
Type GetValue() ; virtual ~Data(){};
virtual void Serialize(CArchive& ar);};template <class Type void Data<Type>::Serialize (CArchive &ar)
{
if (ar.IsStoring())
{
}
else
{
}
}但程序编译下来,MPLEMENT_SERIAL(Data, CObject, 0) 一直报错,说我的模板类需要参数,但我尝试用
DECLARE_SERIAL(Data<Type>)
MPLEMENT_SERIAL(Data<Type>, CObject, 0)
错误就更多了,哪位大大能给我解决,不胜感激,定有高分奉上!谢谢!
解决方案 »
- MFC的求助
- 关于BCGPropList,添加OnPropertyChanged函数后,出现BUG
- 这样使用CDateTimeCtrl(有特殊需有), 怎么释放做才没有内存泄露?
- 弱问一下,关于文档模板指针的问题
- 我想在delphi程序里传个adoconnect的指针过来,然后VC里用这个连接处理数据库进行读写!
- 关于web ActiveX控件的问题~~~~~~~
- 问一个最基本的问题
- 高分简单问题!!!!!!!!!!!!
- 给俺推荐一个监视网络环境的软件,好吗?
- 哪位大虾有支持多线程、断点续传下载的Ftp或HTTP组件?小弟给高分!
- Send( const void* lpBuf, int nBufLen, int nFlags = 0 )函数的nBufLen的值有没有最大限制?
- 关于__LINE__,__FILE__的问题,急!!
MPLEMENT_SERIAL(Data<Type>, CObject, 0)里面的Type换成具体的数据类型阿,要不然编译器怎么特化阿?
void rData :::Serialize (CArchive &ar)
{
if (ar.IsStoring())
{
_value.Serialize(ar);
}
else
{
_value.Serialize(ar);
}
}
这样不知道行不行
DECLARE_SERIAL(Data<Type>)
MPLEMENT_SERIAL(Data<Type>, CObject, 0)
这些宏换成自己的代码。
我记得这里面定义了静态函数,这里面怎么处理就要看具体情况了。
你这样作,前面我提出的错误根本就没有处理,肯定是不行的。 akun(疑无路) 朋友的想法我也试过,里面是有静态函数,我发现主要的问题有些类名处理的时候,特别是RUNTIME_CLASS类,如果简单的换成自己的代码,也不可以。
eg. RUNTIME_CLASS(class_name)
我现在的class_name 是个模板类,怎样创建他的运行类型类是个问题