Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/08/2012, 13:20
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Acceder un array por direccion

Hola! nose mucho de C++, pero esta forma de declarar:
Código C++:
Ver original
  1. Red Redes**;
no la conocia. No deberia ser Red **Redes???
Tambien en la funcion usas "id" cuando deberia ser bufer+"index" ....

Sacando esos detalles, te marco algunas observaciones:

1º Me parece que no es conveniente mezclar funciones como malloc y new. Si estas en C++ usa new
Código C++:
Ver original
  1. Redes= new Red*[1024];

2º En la funcion vos casteas bufer+"index" a (Red *), pero bufer+index sigue siendo un puntero a puntero a Red por lo tanto el casteo esta demas, y deberias retornar Red**
Código C++:
Ver original
  1. inline Red** ACCESO_INDIVIDUAL(void* buffer, int index)
  2.     {
  3.         return (Red**)buffer+id;
  4.     }

3º Otra observacion es que no le encuentro mucho sentido declarar Redes como puntero a puntero, no es mas conveniente hacer
Código C++:
Ver original
  1. Red *Redes;
  2.      
  3.     Redes = new Red[1024];
  4.      
  5.     for (int i = 0; i < 1024; i++)
  6.        Red[i].Tag= xNumero;



Saludos