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
Ir a la versión completa