내가 가진 (삭제 사용) 멤버 ** 객체를 삭제 어떻게 **object
(**personnel
) 내부 구성원 (구성) 또 다른 목적은, 그 **personnel
포인트 메모리를 해제하고 (다른 **temp
을 가리 원하는대로 personnel=temp
), delete
가 **personnel
을 보내고 그냥 personnel=temp
프로그램이 잘 실행,하지만 난 delete **personnel
에 노력하고 있다면 모든 것을 망쳐 놨하고 난 항상 오류가 발생을하지 않고 "_Block_Type_Is_Valid (pHead->nBlockUse)
는"C++,
(나는 소멸자 (그리고 virtual
기본 소멸자가) , 그들 중 일부는 아무 일도하지 않지만 여전히 오류가 발생합니다). 그것도 바로 delete
에게이며,
(내가 뭔가 잘못하고 있습니까이에 몇 일)
을 잃었) (나는 모든 각도에서 delete personnel[i]
, delete []personnel[i]
등을 시도했다), 그리고 만약 그렇다면, 어떻게 할 내가한다?
이 편집 :
if(personnel!=NULL)
{
for(i=0;i<numberofemployees;i++)
{ **/*what to do here*/**
delete []this->personnel[i];
}
/*delete personnel;*/
}
personnel=temp;
numberofemployees++;
}
** 직원이이 클래스의 멤버 인, 은 (직원 ** 직원, 직원은 다른 파생 클래스의 기본 클래스, 직원의 모든 종류의, 내가 다형성을 사용하고있다), 이 함수는 단지 직원을 추가하는 것입니다, 그 기능이 길기 때문에 제가 그 부분을 집어 넣었습니다. 삭제하지 않으면 모든 것이 잘 작동하는 것 같아요. 오류,
삭제 주소와 함께 작동합니다. 그래서 뭔가를 지우고 싶다면 주소를 전달하십시오. 'ptr ** '는 다른 주소를 저장하는 메모리 위치에 대한 주소입니다. 어느 쪽을 삭제 하시겠습니까? – RandyGaul
코드 샘플을 제공 할 수 있습니까? – edtheprogrammerguy