Eliminar un puntero doble.
¿Cómo eliminar correctamente una matriz de puntero doble? Cuando intenté este código, memcheck me dijo “Uso del valor no inicializado de tamaño 8” y “Escritura no válida de tamaño 4”. No pude averiguar dónde me equivoqué.
struct Node
{
int value;
Node* next;
};
int main()
{
Node** doublePtrNode= new Node* [10];
for (unsigned int i = 0; i < 10; i++)
{
doublePtrNode[i]->value=i;
}
for (unsigned int i = 0; i < 10; i++)
{
delete doublePtrNode[i];
}
delete[] doublePtrNode;
return 0;
}
davy.ai
Para eliminar correctamente un array de puntero doble, es necesario eliminar cada elemento del array antes de eliminar el array en sí. El código debe modificarse de la siguiente manera: