erreur incompréhensible (meme fonction, meme utilisation mais pb ..)
bonjour,
j'ai deux classe différente qui utilise une fonction déclaré dans un .h et .cpp.
Pour utiliser cette fonction, je fais un #include "monPth.h"
et apres j'utilise la fonction.
le seul problème c'est que ca passe sur une classe mais pas dans l'autre!!!!
voila l'erreur généré dans le cpp de ma 2ème classe.
Citation:
IP.cpp(23) : error C2064: le terme ne correspond pas à une fonction qui prend les arguments 2
voila les déclarations/utilisation dans les différentes classes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
//classe ip (IP.cpp)
unsigned short cksum = checksum((unsigned short *)this, sizeof(IP)); //génère l'erreur!
//classe icmp (ICMP.cpp)
unsigned short cksum = checksum((unsigned short *) this, sizeof(ICMP)); //pas de pb!
//code de la fonction checksum:
unsigned short checksum(unsigned short *buffer, int size)
{
unsigned long cksum=0;
while(size >1)
{
cksum+=*buffer++;
size -=sizeof(unsigned short);
}
if(size)
{
cksum += *(unsigned char*)buffer;
}
cksum = (cksum >> 16) + (cksum & 0xffff);
cksum += (cksum >>16);
/* ~ est l'opérateur de complément à un sur les nombres binaires.
Il inverse tous les bits: 0 devient 1 et 1 devient 0*/
return (unsigned short)(~cksum);
} |
une idée sur une telle erreur?