Una pregunta ¿xq tienen la misma direccion de memoria? es porNo hay ninguna razon como para que no la tengan, solo existe en un lugar la memoria donde estan esas cadenas, para que tuviera otra direccion tendrias que reservar memoria y copiar esas cadenas ...Código: Text
Diccionario[*cont] = miDiccionario;
y en esta parte:Código: Text
delete [] miDiccionario.esp; delete [] miDiccionario.ing;
el primer delete borra el contenido en memoria de la memoria, pero el segundo no y si quito el primero y dejo el segundo, este ultimo borra el contenido de la memoria. ¿a que se debe eso? (creo q esto va ligado con la pregunta de arriba)
esp y ing si son char.Son char *, punteros a char, y no se asigna automaticamente nada. Ambas variable en x86 ocupan 4 BYTES unicamente y lo que hacen es tener como valor una direccion de memoria en esta caso la donde esta/ba la cadena que hayas obtenido por teclado y que sera la direccion devuelta por new. Si te das cuenta esa direccion seguramente es repetida todas las veces que entra a esa funcion ya que como haces delete se recicla.
mmmmm yo pense que necesariamente tenian que tener direcciones de memoria diferentes y q eso ya se asignaba automaticamente