void *mm(void *pTo,void*pOr,size_t s)
{
assert((pTo)&&(pOr));
char* pt = (char*)pTo;
char* po = (char*)pOr;
while(s-->0)
*pt++ = *po++;
return pTo;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *p1 = new char;
char *p2 = "permutation";
p1 = (char *)mm(p1,p2,4);
printf(p1);
//delete p1;
return 0;
}
이상은 내 테스트 프로젝트입니다. 새 char 메모리를 삭제하려면 어떻게해야합니까? 항상 "HEAP CORRUPTION DETECTED 오류가 발생했습니다 ... CRT가 응용 프로그램이 힙 버퍼의 끝 뒤에 메모리에 쓴 것을 감지했습니다". 미리 감사드립니다. C++에서 포인터 및 삭제
최저 :
char *p1 = new char[4];
그런 다음에 의해 삭제합니다. USE std :: vector 동적으로 크기가 조정 된 메모리를 유지합니다. –