Salut,
Je début en cpp (je viens de vb et java) donc tout à apprendre des pointeurs.
Bref
j'ai le code suivant
unsigned char *pBuffer = NULL;
getBuffer(pBuffer); // La fonction alloue la mémoire : void getBuffer(unsigned char *pBuffer)
//<Ici je récupère bien le contenu du buffer et le pointeur pointe sur le premier char du buffer>
donc je prend ma méthode getBuffer() et je me la met dans une classe.
MaClasse *o = new MaClasse()
unsigned char *pBuffer = NULL;
o->getBuffer(pBuffer);
-->
Si la méthode getBuffer() garde la même signature, le buffer est bien créé en interne mais sortie de la méthode, pBuffer pointe sur NULL!
Par contre si la méthode est la suivante : void getBuffer(unsigned char *&pBuffer), ca marche ????
QUe signifie *& ???
Pourquoi ça marche si la fonction est dans le même fichier source et pas dans la classe ?
Merci