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:
void Player::onSummonAttackedCreatureDrain(Creature* summon, Creature* target, int32_t points)
{
Creature::onSummonAttackedCreatureDrain(summon, target, points);
std::string str = summon->getName();
size_t start = str.find("'s") + 2;
size_t end = str.find("[");
std::string result = str.substr(start, end-start);
char buffer[100];
sprintf(buffer, "Your %s deals %d damage to %s.",result.c_str , points, target->getNameDescription().c_str());
sendTextMessage(MSG_EVENT_DEFAULT, buffer);
}
||=== 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
parace ser que hay un error en la manera que declaraste esta funcion:
Creature::onSummonAttackedCreatureDrain(summon, target, points);
Te esta diciendo que te falto ponerles el amperson('&').
Creature::onSummonAttackedCreatureDrain(&summon, &target, &points);
Saludos.
no compa, era algo más sencillo XD, en esta línea olvidé poner el .c_str():
std::string str = summon->getName();
de todas maneras gracias por responder
Saludos
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()