У меня проблема с удалением данных вектора.
Когда я создаю данные, я сначала резервирую пространство в массиве, затем изменяю размер вектора и копирую адреса массива:
//Create the vertices
verts.reserve(vn); verts.resize(vn);
TriVertex *vertsaux = new TriVertex[vn];
for(int i=0, c=0; i<vn; i++, c+=3)
{
vertsaux[i].SetId(i);
vertsaux[i].SetCoords0(Vector3(vs[c], vs[c+1], vs[c+2]));
//Inicializate texture vertices
vertsaux[i].SetTextureCoords(Vector2(0.0f, 0.0f));
}
for(int i=0; i<vn; i++)
{
verts[i] = &vertsaux[i];
}
Но в деструкторе моего класса это выдает ошибку времени выполнения, когда я делаю это:
for (i=0; i < this->verts.size(); i++) {
delete this->verts[i];
}
Кто-нибудь знает, почему это происходит?
Кстати, я не могу просто создать new TriVertex
внутри for
из-за некоторых деталей реализации ...