SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: andreina en Viernes 6 de Mayo de 2005, 23:40

Título: Puntero De Puntero
Publicado por: andreina en Viernes 6 de Mayo de 2005, 23:40
Hola
Estoy desarrollando una aplicacion que llama a una funcion que tiene la siguiente forma:
read(a,b,c,d,e,f,g), donde e,f,g son del tipo LPSTR el cual es un aputador a un apuntador.
Al llamar esta funcion pasandole simplemente &e, &f, &g  obtengo el siguiente error:
Cannot convert parameter 5 from char** to void **
Types pointed to are unrelated conversion requires reinterpret_cast, C-style cast or function-style cast.

Alguien sabe que estoy haciendo mal? o como puedo solucionarlo?
Saludos y Gracias de antemano por la ayuda
Título: Re: Puntero De Puntero
Publicado por: carlos20 en Sábado 7 de Mayo de 2005, 01:48
hola andreina

por el error que te aparece creo que el problema es que el parametro 5 de la
funcion lo declaraste como void** y no como char** , otra cosa LPSTR es un
puntero a char declarado como typedef char* y no como typedef char** supongo que estas declarondo la variable como "LPSTR* e;" y no creo que sea necesario .

declara el parametro 5 de la funcion como char* y usa "LPSTR e;" para la
variable .

 :hola:
Título: Re: Puntero De Puntero
Publicado por: hzigma en Sábado 7 de Mayo de 2005, 18:38
Hola, creo que el error es la forma en que trabajas los aputadores, normalmente cuando tienes un apuntador a otro apuntador debes definir en la funciòn de llegada el paràmentro como doble apuntador, ejemplo:

void principal(char **valor)

donde el **valor se define como un doble apuntador, es dificil que juegues con los apuntadores, màs cuando los pasas de funciòn en funciòn.

Espero que te sirva de algo.

HZIGMA :lightsabre:
Título: Re: Puntero De Puntero
Publicado por: andreina en Lunes 9 de Mayo de 2005, 19:25
Gracias por responder segui sus sugerencias