Во время отладки я получаю "программа получила сигнал sigtrap trap /breakpoint trap C++"

Я пытаюсь вставить локальный объект класса в std::vector внутри цикла for с помощью push_back. Чтобы избежать проблемы мелкого копирования, у меня есть конструктор копирования, который будет копировать переменные-члены. Мой класс содержит один массив с плавающей точкой. При попытке скопировать значения этого массива с плавающей запятой через конструктор копирования, я получаю "программа получает сигнал трассировки / прерывания точки сигнатуры", и я не могу отладить или выполнить код.

Я использую Dev C++ 5.11. Я почти уверен, что из-за массива с плавающей точкой, который я пытаюсь скопировать в конструкторе копирования, возникает эта проблема. Но я не могу понять, что я делаю неправильно. Любая помощь будет оценена.

       // 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 ответов

Другие вопросы по тегам