ciao.
QUeste sono le strutture della mia classe:
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;
};
la classe classe ha 3 variabili membro:
codice:
m_vertexs = new VERTEX[MAX_VERTEXS];
m_faces = new FACE[MAX_FACES];
m_FaceNormals = new NORMAL[MAX_NORMALS];
questo è il distruttore della classe che mi lascia dei memory leak:
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;
	}
l'unico new nella classe è questo:

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 ++;
	
}