SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Sankara en Martes 9 de Junio de 2009, 13:49

Título: Error con iterador
Publicado por: Sankara en Martes 9 de Junio de 2009, 13:49
while (!fich3.eof()) //leo de un fichero el nombre (string), identificador (int) y puesto de un empleado (int)
   {
      fich3>>nombre;
      fich3>>identificador;
      fich3>>puesto;
      set<empleado>::iterator itr=conjunto.begin(); //iterador del conjunto
      if ((itr!=conjunto.end()) && ((*itr).VerIde()==identificador))
      {
         (*itr).setIde(nombre,puesto);
         itr++;
      }
   }


Me da error en (*itr).setIde(nombre,puesto);  

 error: pasar âconst empleadoâ como el argumento âthisâ de âvoid empleado::setIde(const std::string&, const int&)â descarta a los calificadores

setIde es una función que devuelve void y modifica el identificador de una clase empleado.
¿Alguna solución?
Título: Re: Error con iterador
Publicado por: m0skit0 en Martes 9 de Junio de 2009, 14:09
Usa las etiquetas de código y pon algo coherente (error: pasar âconst empleadoâ como el argumento âthisâ de âvoid empleado::setIde(const std::string&, const int&)â descarta a los calificadores  :wacko: )

Cita de: "Sankara"
setIde es una función que devuelve void y modifica el identificador de una clase empleado.
Mejor pon el prototipo del método.