调试时我收到“程序接收到的信号sigtrap跟踪/断点陷阱c ++”

时间:2019-01-06 12:18:58

标签: vector copy-constructor dev-c++ push-back

我试图通过使用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;
      }

0 个答案:

没有答案