delete [] chararray _crtisvalidheappointer(pUserData)
-
Hi Leute,
ich bekomme folgende Exception bei verlassen dieer Funktion:
_crtisvalidheappointer(pUserData)
Und zwar entsteht das ganze beim delete[] in der For Schleife erst beim 3.Durchlauf.
Der Pointer ist mit "11" gefüllt, wo liegt denn hier der Fehler?
Aufruf mit der Funktion mit z.B. "192.168.12.11".Wäre super wenn mir hier jemand helfen könnte!
Vielen Dank!!BOOL CnFileClass::SplitIP(char *pIP) { BOOL bresult=FALSE; int nHosts; int nPos=0; int nSize=0; int nOctets=4; char **poctetsArray; poctetsArray=new char*[nOctets]; //Allocate memory for the array for (nPos=0;nPos<nOctets;nPos++) { poctetsArray[nPos]=new char[256]; //Resize each array poctetsArray[nPos][0]=0; } char *psepbetween=new char[256]; char *pchr=new char[256]; strcpy(psepbetween,"."); nPos=0; char *temp=new char[256]; for (pchr=strchr(pIP,psepbetween[0]);pchr!=NULL;pchr=strchr(pIP,psepbetween[0])) { nSize=(strlen(pIP)-strlen(pchr)); strncpy(poctetsArray[nPos],pIP,nSize); poctetsArray[nPos][nSize]=0; pIP=pchr+1; nPos++; pchr=NULL; } poctetsArray[nPos]=pIP; for (nPos=0;nPos < nOctets; nPos++) TRACE("%s",poctetsArray[nPos]); nHosts=0; delete [] pchr; for (nPos=0;nPos <nOctets;nPos++) delete [] poctetsArray[nPos]; <------ FEHLER bei 3. Pos delete [] poctetsArray; delete [] psepbetween; return bresult; }
-
Fehler gefunden kann geschlossen werden.