结构体向量的复制
我写了一个结构体,如下:
struct GanttInfo
{
GanttInfo():isGroup(FALSE), nextTaskNo(-1){};
BOOL isGroup; //是否有子任务
int taskNo; //作业编号
int nextTaskNo; //下一工作ID
COleDateTime startDate; //开始时间
COleDateTime FinishDate; //完成时间
double progress; //进度
CString frontTask;
bool operator == (const GanttInfo &rhs)
{
return (nextTaskNo == rhs.nextTaskNo);
}
}
声明一个结构体向量vector<GanttInfo> m_ganttInfo;
m_ganttInfo中已经填充若干数据。
现在我又再次声明一个向量
vector<GanttInfo> m_tempInfo;
进行拷贝
tempInfo.resize(m_gantInfo.size());
memcpy(&tempInfo[0], &m_gantInfo[0], m_gantInfo.size()*sizeof(GanttInfo));
结果这段代码在运行时正常,在退出是,发现出现异常
那么,拷贝这种结构体向量怎么进行呢?memcpy那里错了吗?