Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2012, 17:26
lucas_max2002
 
Fecha de Ingreso: agosto-2012
Mensajes: 30
Antigüedad: 11 años, 8 meses
Puntos: 3
Pregunta Acceder un array por direccion

Hola a todos

Estoy tratando de solucionar un problema en mi codigo, pero no he podido.

Tengo una clase que se llama Red.

La clase red tiene una propiedad que se llama Tag, donde guardo cualquier valor de tipo int.

Ahora, tengo un arreglo declarado de esta manera

Código C++:
Ver original
  1. Red Redes**;
  2.  
  3. Redes = (Red**)malloc(sizeof(Red*)*1024);
  4.  
  5. for (int i = 0; i < 1024; i++)
  6.    Redes[i] = new Red(...);

La cuestion es que ahora en un trozo de codigo necesito acceder a cada elemento de Redes, pero no a traves del indizador sino de la direccion. Por ello he echo esta funcion para obtener cada elemento

Código C++:
Ver original
  1. inline Red* ACCESO_INDIVIDUAL(void* buffer, int index)
  2. {
  3.     return (Red*)buffer+id;
  4. }

pero cuando la llamo y hago

Código C++:
Ver original
  1. int tag_value = (*ACCESO_INDIVIDUAL(Redes, 5)).Tag;

no obtengo el valor que deberia, sino un valor aleatorio

Entonces mi pregunta es, estoy accediendo mal, o debo de hacerlo de otra manera??

Espero me puedan colaborar, gracias