Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Legnak en 4 Septiembre 2011, 04:53 am



Título: Ayuda con este error
Publicado por: Legnak en 4 Septiembre 2011, 04:53 am
Hola foreros, me he estado adentrando en el c++ y estoy reprogramando las sources de un juego, hasta ahora he sabido manejar los errores que ocasionan mis códigos, pero justo ahora no entiendo de donde sale XD.

este es el código:

Código
  1. void Player::onSummonAttackedCreatureDrain(Creature* summon, Creature* target, int32_t points)
  2. {
  3. Creature::onSummonAttackedCreatureDrain(summon, target, points);
  4.  
  5.  
  6. std::string str = summon->getName();
  7. size_t start = str.find("'s") + 2;
  8. size_t end = str.find("[");
  9. std::string result = str.substr(start, end-start);
  10.  
  11. char buffer[100];
  12. sprintf(buffer, "Your %s deals %d damage to %s.",result.c_str , points, target->getNameDescription().c_str());
  13. sendTextMessage(MSG_EVENT_DEFAULT, buffer);
  14. }
  15.  


Código:
||=== TheForgottenServer, Compile Server ===|
player.cpp||In member function 'virtual void Player::onSummonAttackedCreatureDrain(Creature*, Creature*, int32_t)':|
player.cpp|3801|error: invalid use of member (did you forget the '&' ?)|
||=== Build finished: 1 errors, 0 warnings ===|

ni idea del por qué de ese error, espero puedan ayudarme
Saludos y gracias de antemano


Título: Re: Ayuda con este error
Publicado por: M1L0666 en 4 Septiembre 2011, 06:08 am
parace ser que hay un error en la manera que declaraste esta funcion:
Código:
Creature::onSummonAttackedCreatureDrain(summon, target, points);

Te esta diciendo que te falto ponerles el  amperson('&').

Código:
Creature::onSummonAttackedCreatureDrain(&summon, &target, &points);
Saludos.


Título: Re: Ayuda con este error
Publicado por: Legnak en 4 Septiembre 2011, 06:14 am
no compa, era algo más sencillo XD, en esta línea olvidé poner el .c_str():
Código
  1. std::string str = summon->getName();
  2.  
de todas maneras gracias por responder
Saludos


Título: Re: Ayuda con este error
Publicado por: LearningSpanishProgrammer en 4 Septiembre 2011, 17:24 pm
Estoy muy feliz de que usted ha resuelto su problema, pero al publicar mensajes de error con línea, señale el lugar em su código.

En este caso, no hábia manera de saber lo error, porque no sabia el tipo de summon::getName()