Foros del Web » Programación para mayores de 30 ;) » Programación General »

c++ a qué se debe este error?

Estas en el tema de c++ a qué se debe este error? en el foro de Programación General en Foros del Web. Me aparece el siguiente error y no se cómo arreglarlo Código: joc.o(.text+0x22c): En la función `Joc::seleccionarPrimerJugador(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /root/Desktop/joc.cc:46: undefined reference to `CatalogoJugadores::crearJugador(std::basic_string<char, ...
  #1 (permalink)  
Antiguo 11/05/2005, 04:08
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
Puntos: 0
c++ a qué se debe este error?

Me aparece el siguiente error y no se cómo arreglarlo

Código:
joc.o(.text+0x22c): En la función `Joc::seleccionarPrimerJugador(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/root/Desktop/joc.cc:46: undefined reference to `CatalogoJugadores::crearJugador(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
collect2: ld devolvió el estado de salida 1
es decir, no entiendo lo de undefined reference to crearJugador

La función des de la que llamo a crearJugador es esta:

Código:
 
void Joc::seleccionarPrimerJugador(const string& nom)
  throw (Joc::JugadorInexistente) {
   CatalogoJugadores catalogo;
  _jugador1 = catalogo.crearJugador(nom);
}
y crearJugador es asi:

Código:
 
Jugador* crearJugador(const string& nom)
 throw (CatalogoJugadores::JugadorInexistente) {

  if (nom == estilo1) 
    return new JugadorAleatori;
  if (nom == estilo2) 
    return new JugadorCiclic;
  if (nom == estilo3) 
    return new JugadorMemoria;
  
  throw CatalogoJugadores::JugadorInexistente();
}
A ver si alguien puede abrirme una luz. Muchas gracias por adelantado!

salu2
  #2 (permalink)  
Antiguo 11/05/2005, 04:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Con el poco codigo que nos diste (tal vez lo demas sea importante) se ve una cosa. catalogo no es un objeto de Jugador sino uno de CatalogoJugadores, con lo cual crearJugador no existe en esa clase sino en Jugador.

Pero al ser un error del linker supongo que CatalogoJugadores es una clase hija de Jugador ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 11/05/2005, 05:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
Puntos: 0
Gracias Eternal Idol por contestar. crearJugador está en la clase CatalagoJugadores, y catalogo es un objeto de CatalogoJugadores. Es que no sé dónde puede estar el error

Merci
  #4 (permalink)  
Antiguo 11/05/2005, 07:02
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
¿Con que linea de comandos estas compilando? ¿La clase CatalogoJugadores esta tambien en joc.cc?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:59.