Ayuda con este error

Iniciado por Legnak, 4 Septiembre 2011, 04:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Legnak

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 (cpp) [Seleccionar]
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

M1L0666

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.





Mas vale un minuto de tonto, que una vida de pendejo.

Legnak

#2
no compa, era algo más sencillo XD, en esta línea olvidé poner el .c_str():
Código (cpp) [Seleccionar]
std::string str = summon->getName();

de todas maneras gracias por responder
Saludos

LearningSpanishProgrammer

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()
Estoy aprendiendo español, y tu estas aprendiendo programación