Título: Funcion en C Publicado por: soyloqbuskas en 23 Enero 2012, 23:17 pm ¡Buenas a todos!
Estoy intentado hacer una funcion y ni si quiera soy capaz de declararla... Esta es la definicion de la variables que luego le voy a pasar a mi funcion: Código: const char orden; y yo estoy intentado declarar la funcion asi.... Código: char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) { y no me compila....me dice que orden no esta declardo.... ¿Alguna idea? ¡Un saludo! Título: Re: Funcion en C Publicado por: x64core en 23 Enero 2012, 23:40 pm y todo el codigo desde como llamas, hasta la variable que resibe el retorno?
y c++ es bien estricto si decis que vas a devolver un puntero a puntero, tenes que devolver un puntero a puntero, no un puntero nada mas Título: Re: Funcion en C Publicado por: soyloqbuskas en 23 Enero 2012, 23:45 pm ¡Buenas RHL!
Lo del return ya me suponia que iba a estar mal...pero bueno....el codigo de lo que hace la funcion creo que lo puedo hacer.... Solo necesito hacer la declaracion....pero bueno, aqui te dejo algo mas de codigo.... Código: char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) { Gracias, un saludo. EI: juntando mensajes. Bueno, he conseguido mejorar algo... Código: char **parser_orden(const char *orden, int *IDEntrada, int *IDSalida,int *backgr) { Ahora la declaracion es correcta, pero me da error en la asignacion porque no hago un cast..... ¿Cual es el cast que debo poner? Título: Re: Funcion en C Publicado por: Ferno en 24 Enero 2012, 00:29 am Lo que estás haciendo en dicha asignación es asignarle a un puntero de puntero de char, un char.
La variable orden es un puntero a char, por ende (*orden) es un char. Eso lo estás asignando a un puntero a puntero a char ==> La asignación no es correcta. Vi todo el hilo muy por arriba, pero si intentas castear dicha asignación entonces Código o prueba con: Código
Título: Re: Funcion en C Publicado por: soyloqbuskas en 24 Enero 2012, 00:48 am ¡Gracias Ferno!
La opcion: Código: char** ord = &orden; Pero la opcion: Código: char** ord = (char**)orden; Un saludo. |