Programación General > C/C++

 Como pasar por parametro una matriz de punteros?

(1/1)

yellowpaper:
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: ---
             void *vector[2];
             vector[0]=(void *) &obteto0;
             vector[1]=(void *) &objeto1;

--- Fin del código ---

y en la función del thread hago


--- Código: ---
void *funcion(void *inf)
{
    objeto1 *ed = (objeto1 *)  inf[1];

--- Fin del código ---

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:
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:

Navegación

[0] Índice de Mensajes

Ir a la versión completa