Hola:
Necesito ayuda con una cosa del código que no sale ni para atrás. Estoy intentando crear un array de arrays de objetos. Los objetos son de tipo Nodo(creado por mi). En un primer momento he escrito lo siguiente:
"Red.h"
public:
Nodo** capas;
Nodo* nodos;
Red(void);
Red(int *num_nodos);
~Red(void);
};
"Red.cpp"
Red::Red(int *num_nodos) //esto es un array de enteros
{
int k_capas = sizeof(num_nodos)/sizeof(num_nodos[0]);
capas = new Nodo* [k_capas];
for(int i=0;i<k_capas;i++)
{
capas
= new Nodo[num_nodos];
}
}
Pero luego resulta que no puedo hacer red->capas[0][0]. Se supone que el array capas debería de tener el tamaño del vector num_nodos y que además, cada posición de capas ha de apuntar a otro array de tamaño num_nodos. Pero lo que me sale es que capas tiene tamaño 1 y que ademas no es un array de Nodos, sino que directamente es un objeto de tipo Nodo.
¿Alguien sabe como puedo hacer ese array de arrays de objetos de tipo Nodo?
+-----++++++++++---------+---------+---------+---------+---------+
+ -------------->+ Nodo0 + Nodo1 + Nodo2 + ..... + NodoN +++++array 0
+-----++++++++++---------+---------+---------+---------+---------+
+ ... +
+-----++++++++++---------+---------+---------+---------+---------+
+ -------------->+ Nodo0 + Nodo1 + Nodo2 + ..... + NodoN +++++array M
+-----++++++++++---------+---------+---------+---------+---------+
Muchas gracias