我试图通过使用push_back将本地类对象插入到for循环内的std :: vector中。为避免浅表复制问题,我有一个复制构造函数将复制成员变量。我的课程包含一个浮点数组。尝试通过复制构造函数复制此float数组的值时,出现“程序收到信号sigtrap跟踪/断点陷阱”的信息,并且无法调试或执行代码。
我正在使用Dev c ++ 5.11。我非常确定,由于我试图在复制构造函数中复制的float数组导致此问题。但是我无法理解我在做什么错。任何帮助,将不胜感激。
// My loop
for(int i=0; (i+2)<m_veclVertCoord.size(); i=i+3)
{
Vert obj;
obj.m_iIndex = ict;//index of verts
obj.m_fXyz[0] = m_veclVertCoord[i];
obj.m_fXyz[1] = m_veclVertCoord[i+1];
obj.m_fXyz[2] = m_veclVertCoord[i+2];
m_vecVerts.push_back(obj);
ict++;
}
//我正在使用的复制构造函数
Vert::Vert(const Vert &ver)
{
m_fXyz[0] = ver.m_fXyz[0];// this float array is causing theissue
m_fXyz[1] = ver.m_fXyz[1];
m_fXyz[2] = ver.m_fXyz[2];
m_iIndex = ver.m_iIndex;
}