Tengo declarada una funcion para calcular el checkSum de un vector:
int GetCheckSum(unsigned char *msg)
{
//Calcular Checksum
return checkSum;
}
Esta la funcion la llamo desde diferentes sitios, el problema es que cada vez le paso un vector de tamaño diferente:
void function1()
{
unsigned char msg[10];
int checksum;
msg[0] = 1;
msg[1] = 23;
.
.
.
msg[9] = 4;
checksum = GetCheckSum(unsigned char &msg);
}
void function2()
{
unsigned char msg[4];
int checksum;
msg[0] = 1;
msg[1] = 23;
.
.
.
msg[3] = 4;
checksum = GetCheckSum(unsigned char &msg);
}
void function3()
{
unsigned char msg[55];
int checksum;
msg[0] = 1;
msg[1] = 23;
.
.
.
msg[54] = 4;
checksum = GetCheckSum(unsigned char &msg);
}
Lo cual me da el siguiente error al compilar:
m:\driver\cms_comm.cpp(487) : error C2664: 'getCheckSum' : cannot convert parameter 1 from 'unsigned char (*)[6]' to 'unsigned char *'
Como tengo que declarar la funcion o su llamada para poder pasar vectores de diferente tamaño? Gracias.