grazie .
posto un po di codice perch ho un problema di delete:
codice:
while(!m_pData->m_BeamLoadsIterator->ISEof())	{
		tagLoadData* pLoadData = new tagLoadData();
		//Flag per sapere se B prec. coincide con A corrente
		bool bAB = ((LDTemp.dDistA == LDOld.dDistB) && (LDTemp.dValOverLA == LDOld.dValOverLB) 
			|| TagsLoadData.IsEmpty());//Sempre true la prima volta

		//se punto B prec. è diverso dal Punto A aggiungo anche B precedente
		if (!bAB && !TagsLoadData.IsEmpty()){
			m_pData->m_BeamLoadsIterator->GetLoadData(pLoadData,&LDOld, false, false);
			TagsLoadData.Add(pLoadData);
		
			bNew = true;
		}
		//aggiungo sempre il punto A
		m_pData->m_BeamLoadsIterator->GetLoadData(pLoadData,&LDTemp, bNew, true);
		TagsLoadData.Add(pLoadData);
		pLoadData = new tagLoadData();
		bNew = false;

		LDOld = LDTemp;
		m_pData->m_BeamLoadsIterator->MoveNext();
		if(!m_pData->m_BeamLoadsIterator->ISEof())
			m_pData->m_BeamLoadsIterator->LoadTagLoadsTemp(&LDTemp);
		if(!CompareLDTemp(&LDTemp, &LDOld) ||m_pData->m_BeamLoadsIterator->ISEof()){
			//se cambia qualcosa o sono alla fine aggiungo sempre il punto B finale,
			//aggiungo al DomainModel e vado avanti
			m_pData->m_BeamLoadsIterator->GetLoadData(pLoadData,&LDOld, false, false);
			TagsLoadData.Add(pLoadData);
			nTypeLoad = m_pData->m_BeamLoadsIterator->GetTypeLoad(LOAD_DISTR, LDOld.strCoordSys, LDOld.strType);
			
			InsInDomainModel(&LDOld, &TagsLoadData, nTypeLoad);
			
			bNew = true;
		}
	}

questa è la mia myfunc:
codice:
		m_pData->m_BeamLoadsIterator->GetLoadData(pLoadData,&LDTemp, bNew, true);
e pLoadData è il mio pObject.

il problema è che all'esterno della mia classe viene fatto il delete di tutti i contenuti dell'array TagsLoadData.
ho 2 allocazioni di pObject(pLoadData) perchè devoaggiungere 2 volte nello stesso ciclo.
In questo modo mi escono dei memory leaks,probabilmente penso per la riallocazione di pObject.
Puo essere?
grazie.
ps.adesso sto riscrivendo il codice con il tuo metodo .
tu come risolveresti?
grazie.