0

大家好,我在将结构插入结构向量时遇到问题...请参阅以下代码

struct stLine
{
double** ptrRoadCords;
int iSize;
};

//我有这个结构,向量是

std::vector<stLine> m_vecStLine;

//我正在创建临时结构

stLine line;

line.ptrRoadCords = new double*[cnt];
for ( int i = 1; i < cnt-1; i++ )
{
    line.ptrRoadCords[i-1] = new double[2];
    line.ptrRoadCords[i-1][0] = ptrCords[i-1][0];
    line.ptrRoadCords[i-1][1] = ptrCords[i-1][1];
}

m_vecStLine.push_back(line);

//所以它工作完美但导致内存泄漏

//所以我放了发布代码

if (line.ptrRoadCords != NULL)
{
   for (int i = 0; i < cnt-2; i++)
   {
      delete[]line.ptrRoadCords[i];
   }
   if(line.ptrRoadCords)
      delete[]line.ptrRoadCords;
}

但是因为这个应用程序崩溃了,因为它清除了向量元素,也因为它插入了引用

请帮我解决这个问题

提前谢谢你

4

0 回答 0