Bonjour, mon problème est le suivant:
je dois parcourir une zone mémoire qui ma 'été préalablement renvoié via le prototype suivant Je ne comprend pas pourquoi les lignes 7 & 8 font plantées mon programmes.
Le problème vient-il d'un cast "oublié", d'une grossière erreur de ma part, ... ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
int nombreSequence(void* ptr){
    char *pBalade=(char*)ptr;
    unsigned short offset=*(unsigned short*)pBalade;
    int cpt=1;
 
    while(offset!=0){
        pBalade=pBalade+offset; 
        offset=*(short*)(pBalade);
        cpt++;
    }
    return cpt;
}
}
Le plus bizarre, c'est que j'ai reussi a "contourné" le problème en remplaçant ces 2 lignes par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
offset=*(unsigned short*)(pBalade+offset);
mais je voudrai comprendre pourquoi avant ce ne fonctionnait pas pour ne plus refaire l'erreur !

Merci d'avance