[C con Clase] Ayuda con error de compilacion

Davidson, Steven srd4121 en njit.edu
Lun Feb 8 02:40:09 CET 2016


Hola IvӘттн,

La línea que marca error es:

return(Sueldo - (Descuento));

Sin conocer la definición de 'Sueldo' no tenemos todos los datos. Sin
embargo, viendo otro código, vemos que 'Sueldo' es un puntero, por lo que
deberías acceder al valor apuntado; esto es,

return *Sueldo - Descuento;


Aparte de este error, veo que hay algunos otros errores lógicos. Por
ejemplo, en 'Leer()', escribes:

double Sal;
double Bandera = Validar(Sal);

'Sal' contiene "basura"; o sea, no contiene ningún valor válido ni conocido
de antemano. Por lo tanto, no tiene sentido validar su contenido.

Luego escribes:

do
  cin >> Sal;
while( Bandera==false );

Esto provoca o bien una sola iteración, porque 'Bandera' es 'true', o bien
un bucle infinito, porque 'Bandera' es 'false', ya que la condición se basa
en 'Bandera' y ésta no cambia de valor en el bucle.


Espero que esto te sirva.

Steven


2016-02-07 18:24 GMT-05:00 IvӘттн WiтнӘ WiтнӘ <scream_cigarette en hotmail.com>
:

>
>                                              void Empleado::Leer(void)
>                                              {
>                                                   double Sal;
>                                                    double Bandera =
> Validar(Sal);
>
>                                                    //cout<<"Introduzca el
> RFC del Empleado"<<endl;
>                                                    cin>>RFC;
>                                                   //cout<<"Introduzca el
> Nombre del Empleado"<<endl;
>                                                   cin>>Nombre;
>
>                                              //cout<<"Introduzca Salario
> Mensual del Empleado"<<endl;
>                                             do
>                                              cin>>Sal;
>
>
>  while(Bandera==false);
>
> Salario=Sal;
>
> cout<<"Introduzca las faltas Mensuales"<<endl;
>
>  cin>>Faltas;
>
>               };
>
>               double Empleado::Descuento(void)const
>               {
>                      return(Faltas * 100.0);
>
>                      }
>                      double Empleado::Sueldo(double Descuento)const
>
>                      {
>                             return(Sueldo - (Descuento)); //AQUI ES DONDE
> MARCA EL ERROR Y ES EL SIGUIENTE: invalid use of member (did you forget the
> `&' ?)
>                             return(0);
>
>                             };
>
>                             void Empleado::Imprimir(void)const
>
>                             {
>                                  cout<<"RFC;"<<RFC
>                                  <<"Nombre:"<<Nombre
>                                  <<"Salario:"<<Salario
>                                  <<"Faltas:"<<Faltas
>                                  <<"Sueldo:"<<*Sueldo;
>                                  };
>
>                                 void Empleado::~Empleado(void)
>                                  {
>                             cout<<"Se esta liberando memoria";
>                             }
>                             };
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160207/39c2b60e/attachment.html>


Más información sobre la lista de distribución Cconclase