Autor
|
Tema: Funcion en C (Leído 1,915 veces)
|
soyloqbuskas
Desconectado
Mensajes: 218
¡El conocimiento es de todos!
|
¡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: const char orden; int *backgr; int IDEntrada; //Posible redireccion de entreda a traves (pipes) int IDSalida; //Posible redireccion de salida a traves (pipes) char ** ArrayParser; //Array para alamacenar la salida de la orden parser_orden y yo estoy intentado declarar la funcion asi.... char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) { return orden; }
y no me compila....me dice que orden no esta declardo.... ¿Alguna idea? ¡Un saludo!
|
|
« Última modificación: 23 Enero 2012, 23:21 pm por soyloqbuskas »
|
En línea
|
"Si tienes 1 manzana y yo tengo otra manzana... y las intercambiamos, ambos seguiremos teniendo 1 manzana. Pero...si tu tienes 1 idea y yo tengo otra idea... y las intercambiamos, ambos tendremos 2 ideas."
George Bernard Shaw
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
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
|
|
|
En línea
|
|
|
|
soyloqbuskas
Desconectado
Mensajes: 218
¡El conocimiento es de todos!
|
¡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.... char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) { return orden; }
void ejecutar_orden(const char *orden, int *backgr) { //Se encarga de ejecutar una orden
int IDEntrada; //Posible redireccion de entreda a traves (pipes) int IDSalida; //Posible redireccion de salida a traves (pipes) char ** ArrayParser; //Array para alamacenar la salida de la orden parser_orden int result; int MAXPATHLEN=100; bool ok=false; char path[MAXPATHLEN];
ArrayParser = parser_orden(orden, &IDEntrada, &IDSalida, backgr); //Convierte la entrada de una orden en un array charr **, elimiando los espacios //backgr devuelve 1 si encuentra el simbolo & . . . .
Gracias, un saludo. EI: juntando mensajes.Bueno, he conseguido mejorar algo... char **parser_orden(const char *orden, int *IDEntrada, int *IDSalida,int *backgr) { char **ord=*orden; return ord; } Ahora la declaracion es correcta, pero me da error en la asignacion porque no hago un cast..... ¿Cual es el cast que debo poner?
|
|
« Última modificación: 24 Enero 2012, 00:51 am por Eternal Idol »
|
En línea
|
"Si tienes 1 manzana y yo tengo otra manzana... y las intercambiamos, ambos seguiremos teniendo 1 manzana. Pero...si tu tienes 1 idea y yo tengo otra idea... y las intercambiamos, ambos tendremos 2 ideas."
George Bernard Shaw
|
|
|
Ferno
Desconectado
Mensajes: 375
|
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 char** ord = (char**)orden;
o prueba con: char** ord = &orden;
|
|
|
En línea
|
|
|
|
soyloqbuskas
Desconectado
Mensajes: 218
¡El conocimiento es de todos!
|
¡Gracias Ferno! La opcion: ya la habia probado y no funciona Pero la opcion: char** ord = (char**)orden; si que funciona jeje Un saludo.
|
|
|
En línea
|
"Si tienes 1 manzana y yo tengo otra manzana... y las intercambiamos, ambos seguiremos teniendo 1 manzana. Pero...si tu tienes 1 idea y yo tengo otra idea... y las intercambiamos, ambos tendremos 2 ideas."
George Bernard Shaw
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
manejo de argumentos en funcion dentro de funcion ???
PHP
|
SpiderNet
|
2
|
3,445
|
30 Septiembre 2008, 03:01 am
por SpiderNet
|
|
|
Duda con funcion dentro de funcion en un echo
PHP
|
N4X
|
6
|
5,881
|
21 Enero 2010, 18:12 pm
por N4X
|
|
|
* [Source+Funcion+vb6] AceptarConeccion (Sencilla funcion)
Programación Visual Basic
|
BlackZeroX
|
0
|
2,716
|
19 Abril 2010, 00:54 am
por BlackZeroX
|
|
|
funcion como argumento a otra funcion
Programación C/C++
|
Dark Invader
|
5
|
4,869
|
29 Junio 2011, 20:52 pm
por Dark Invader
|
|
|
Función que retorna el valor de retorno de otra función
Programación C/C++
|
naderST
|
7
|
4,765
|
7 Diciembre 2011, 23:45 pm
por naderST
|
|