Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: YolaxD en 18 Enero 2016, 19:30 pm



Título: CItem::Convert : la función no acepta 7 argumentos
Publicado por: YolaxD en 18 Enero 2016, 19:30 pm
hola amigos tengo un incombeniente con un class espero puedan ayudarme como el titulo dice no me acepta los argumentos y no entiendo porque dejo el coldigo para que lo vean


Código:
class CItem
{

public:

CItem();

void Convert(int type, BYTE Option1, BYTE Option2, BYTE Option3,BYTE Attribute2, BYTE SetOption, BYTE ItemEffectEx,LPBYTE SocketOption,BYTE SocketCount, BYTE DbVersion);
void Value();



Código:
item.Convert(this->bot[botNum].body[i].num,item.m_Option1,item.m_Option2,item.m_Option3,item.m_SetOption,item.m_SocketOption[i],item.m_ItemOptionEx);


la verdad no comprendo en que le estoy errando si alguno seria tan amable de darme una idea se lo agradeceria :)


Título: Re: CItem::Convert : la función no acepta 7 argumentos
Publicado por: MAFUS en 18 Enero 2016, 19:37 pm
La función no está sobrecargada ni tiene valores por defecto en el parámetro. Para llamarla debes pasarle tantos argumentos como tiene en su definición, en este caso 10.


Título: Re: CItem::Convert : la función no acepta 7 argumentos
Publicado por: YolaxD en 18 Enero 2016, 20:01 pm
muchas gracias ya se souciono ahora me da este error 

error C2664: 'CItem::Convert' : no se puede convertir el parámetro 8 de 'BYTE' a 'LPBYTE

alguna idea de el porque ?



Título: Re: CItem::Convert : la función no acepta 7 argumentos
Publicado por: MAFUS en 18 Enero 2016, 20:35 pm
El argumento está esperando un puntero largo a BYTE (un puntero a BYTE) pero le estás pasando un BYTE. Como son tipos de datos diferentes el compilador se queja. Suponiendo que has definido bien tu BYTE que le pasas a la función pon delante de la variable el símbolo & algo así como:
Código
  1. Converter(..., &miBYTE, ...)
suponiendo que miBYTE es el byte que le vas a pasar a la función como octavo parámetro.