Código (cpp) [Seleccionar]
if ( _szt_new>0 ) {
__new_ptr = new void*[_szt_new];
memcpy ( __new_ptr , __pp_back , _szt_now*sizeof(void*) );
}
Será porque en el momento en que _szt_new sea menor a _szt_now (lo cual sucede en alguna instrucción del main), estarías pidiendo una memoria menor a la necesaria para realizar el memcpy?
EDIT: Ahora que veo decís que crashea en el delete[], no pensé en eso.