CItem::Convert : la función no acepta 7 argumentos

Iniciado por YolaxD, 18 Enero 2016, 19:30 PM

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

YolaxD

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



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();





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 :)

MAFUS

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.

YolaxD

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 ?


MAFUS

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:
Converter(..., &miBYTE, ...)
suponiendo que miBYTE es el byte que le vas a pasar a la función como octavo parámetro.