ciao.
QUeste sono le strutture della mia classe:
la classe classe ha 3 variabili membro:codice:struct VERTEX { GLfloat val[3]; }; struct NORMAL { GLfloat val[3]; }; struct INDEX { int nVertex; int nNormalVertex; }; struct FACE { INDEX *pIndex; int nFaceNormal; int nCount; };
questo è il distruttore della classe che mi lascia dei memory leak:codice:m_vertexs = new VERTEX[MAX_VERTEXS]; m_faces = new FACE[MAX_FACES]; m_FaceNormals = new NORMAL[MAX_NORMALS];
l'unico new nella classe è questo:codice:if(m_faces) { for(int i = 0;i < m_nDeleteFacesCount;i++) { delete[] m_faces[i].pIndex; } delete m_faces; } if(m_vertexs) { delete[] m_vertexs; } if(m_FaceNormals) { delete[] m_FaceNormals; }
codice:void CPolygonData::addFace(int idx[],int idxNormal[]) { FACE face; NORMAL normal; int size = _msize( idx )/sizeof(int); ; face.pIndex = new INDEX[size]; for (int i = 0; i <=size ;i++){ face.pIndex[i].nVertex = idx[i]; face.nCount = size; } m_faces[m_nFacesCount] = face; m_nFacesCount ++; }

Rispondi quotando