Commande Free() et Delete() ca marche quand ca veut?

Commande Free() et Delete() ca marche quand ca veut? - C++ - Programmation

Marsh Posté le 18-02-2004 à 16:08:45    

Kikoo tous,
 
J'ai un probleme quant a l'utilisation des commandes free() et delete()... J'ai l'impression qu'elles marchent un peu quand elles veulent... Par exemple qu'est ce qui ne marche pas dans le code suivant? Ca plante au niveau du free().

Code :
  1. CMaFonction()
  2. {
  3.        if(triangleCount)
  4. {
  5.  tVector3 *pNodeVertices = (tVector3*)malloc(triangleCount*3*sizeof(tVector3));
  6. int index = 0;
  7.  for(int i = 0; i < numberOfVerts; i++)
  8.  {
  9.   if(pList[i / 3])
  10.   {
  11.    pNodeVertices[index] = pVertices[i];
  12.    index++;
  13.   }
  14.  }
  15.  m_pOctreeNodes[nodeID] = new COctree;
  16.  tVector3 vNodeCenter = GetNewNodeCenter(vCenter, width, nodeID);
  17.  g_CurrentSubdivision++;
  18.  m_pOctreeNodes[nodeID]->CreateNode(pNodeVertices, triangleCount * 3, vNodeCenter, width / 2);
  19.  g_CurrentSubdivision--;
  20.  free (pNodeVertices);
  21. }
  22. }


Message édité par iceteapeche le 18-02-2004 à 16:09:30
Reply

Marsh Posté le 18-02-2004 à 16:08:45   

Reply

Marsh Posté le 18-02-2004 à 16:11:27    

free() ca sert juste a faire planter les programmes :o

Reply

Marsh Posté le 18-02-2004 à 16:12:14    

LOL
 
ca confirme ce que je pensais alors ;)
 
mais serieusement je peux faire tout mon programme sans cleaner un peu le tas ca plantera a un moment ou un autre

Reply

Marsh Posté le 18-02-2004 à 16:18:36    

magique :o
 
vire les malloc et et les free
 
et utilise new/new[] et delete/delete[]
 
parce que quitte à écrire des constructeurs et des destructeurs, autant qu'ils servent :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed