Título: Problema con estructuras[Ayuda] Publicado por: Blaster en 7 Noviembre 2012, 18:02 pm Alguien podria decirme en que estoy fallando, aka el codigo que estoy haciendo:
Código A la hora de compilarlo el compilador me lanza dos errores: Código: error: cannot convert `empleado' to `empleado*' for argument `1' to `void asignarAsiento(empleado*)' Código: error: conversion from `empleado*' to non-scalar type `empleado' requested Título: Re: Problema con estructuras[ayuda] Publicado por: rir3760 en 7 Noviembre 2012, 18:41 pm El error se genera debido a que la función "asignarAsiento" espera que su argumento sea la dirección en memoria de un objeto de tipo "empleado". Si eso te suena muy técnico y complicado no lo es: ello se realiza cada vez que llamas a una función y el argumento se indica mediante el nombre de un array.
En buen cristiano: para utilizar esa función debes declarar un array y pasarlo a la función, como no lo haces se genera el error que mencionas. Para solucionarlo debes, entre otras cosas, declarar el array (y tampoco llamar directamente a la función "ingresar"), mas o menos así: Código
Un saludo Título: Re: Problema con estructuras[Ayuda] Publicado por: Blaster en 7 Noviembre 2012, 20:15 pm Modifique el codigo como me lo habias dicho, pero no obtengo la salida deseada
ya que quiero que me imprima, el nombre y el asiento que ocupa el empleado. Y ademas no me detecta si el asiento esta o no ocupado, estoy todo liado con esto de las estructuras. Desde ya muchas gracias ;) Título: Re: Problema con estructuras[Ayuda] Publicado por: BatchianoISpyxolo en 7 Noviembre 2012, 22:08 pm Declaras empleados e[3], sin haber hecho un typedef de la struct y luego usas la struct... etc etc.
Se consecuente con tus declaraciones y con los parámetros que tus funciones reciben y los argumentos que pasas al llamarlas. Además ten cuidado con cosas como esta: Código
Debes pasar la referencia de d para poder modificarla. Código
Puede que te funcione. Título: Re: Problema con estructuras[Ayuda] Publicado por: rir3760 en 8 Noviembre 2012, 16:30 pm Declaras empleados e[3], sin haber hecho un typedef de la struct y luego usas la struct... Es valido siempre y cuando el lenguaje, a pesar de todas las apariencias, no sea C sino C++ (a veces pasa).Y si un empleado solo puede tener un asiento asignado hay que cambiar la definicion de la estructura a: Código
Con los cambios: Código Debería funcionar pero no lo revise, eso te toca a ti. Un saludo |