<div dir="ltr">Si no me falla la memoria creo que hay dos formas de usar el <b><i>delete</i></b>. Con corchetes cuando se trata de un array y sin corchete cuando la variable es simple. De modo tal que usarías <i style="font-weight:bold">delete [] a.mem</i> con un bucle y  <i style="font-weight:bold">delete a.mem</i> sin el. Me parece que por ahí puede estar el problema. Saludos<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 23 de febrero de 2016, 18:45, marcelinux <span dir="ltr"><<a href="mailto:marcelinator@gmail.com" target="_blank">marcelinator@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola, de nuevo.<br>
Estoy repasando el segundo ejemplo de <a href="http://c.conclase.net/curso/index.php?cap=022#inicio" rel="noreferrer" target="_blank">http://c.conclase.net/curso/index.php?cap=022#inicio</a><br>
donde se usa una función para sustituir el operador de asignación.<br>
Lo que no me acaba de funcionar es:<br>
if(a.mem) delete[] a.mem;<br>
<br>
En ejecución me produce un error "Segmentation fault."<br>
Lo he separado en dos líneas:<br>
if(a.mem)<br>
   delete[] a.mem;<br>
Lo sigo por Debug y el error se produce en "delete[] a.mem;"<br>
Que, para mí, tiene lógica, puesto que no se ha "creado".<br>
Lo que no entiendo es ¿por qué "if(a.mem)" evalúa verdadero.<br>
De hecho, el valor que me devuelve gdb print a.mem es<br>
(int *) 0x1<br>
Y si los desreferencio<br>
print *a.mem<br>
Cannot access memory at address 0x1<br>
<br>
No sé qué es lo que tengo mal.<br>
<br>
Estoy usando GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1<br>
con la aplicación compilada con g++ (Debian 4.9.2-10) 4.9.2<br>
sobre un sistema Debian 8 jessie amd64.<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" rel="noreferrer" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" rel="noreferrer" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br></div>