• Viernes 26 de Abril de 2024, 09:56

Autor Tema:  Como pasar por parametro una matriz de punteros?  (Leído 1938 veces)

yellowpaper

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Como pasar por parametro una matriz de punteros?
« en: Domingo 10 de Junio de 2012, 15:05 »
0
Hola , estoy haciendo un ejercicio de threads en Linux donde tengo que utilizar para su creación pthread_create . Como sabrán esa función tiene un parámetro que es el puntero? a una función de lo que va a hacer el thread. Esa función recibe un solo parámetro que es un puntero a void.
Necesito enviar 2 punteros de dos objetos distintos, por lo que hice esto
Código: [Seleccionar]

             void *vector[2];
             vector[0]=(void *) &obteto0;
             vector[1]=(void *) &objeto1;

y en la función del thread hago

Código: [Seleccionar]

void *funcion(void *inf)
{
    objeto1 *ed = (objeto1 *)  inf[1];

Pero no me deja hacerlo

Me da errores como :
aviso: se usó un puntero de tipo ‘void *’ en la aritmética [-Wpointer-arith]|
o como
ISO C++ prohíbe incrementar un puntero de tipo ‘void*’ [-fpermissive] (si quiero hacer inf++)


Alguien me puede explicar por que poasa esto y coomo solucionarlo...incluso si quiero castear a (void * [] ) tampoco me deja hacerlo..

Chau y gracias!

yellowpaper

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como pasar por parametro una matriz de punteros?
« Respuesta #1 en: Lunes 11 de Junio de 2012, 13:53 »
0
Bueno , lo soluciono creando una clase auxiliar que contiene dos punteros (uno de objeto 1 y otro de objeto2 ) y eso es lo que termino pasando por parametro y no ese array de punteros void que por lo que veo no es posible o no lo se hacer.
 :gracias: