• [^] # Re: Plusieurs remarques

    Posté par . En réponse au message Effacer un pointeur fournit par une librairie externe. Évalué à 1.

    Salut,
    Merci pour tes précisions
    -Oui je sais qu'en C++ c'est plutôt du new/delete Saut qu'en pratique je linke dynamiquement un code C avec un code C++ sans passer par un wrapper ou quelque chose de ce genre là.

    -Alors si la zone de mémoire libérée était utilisé plus tard j'imagine que j'aurais le segmentation fault plus tard est pas à l'appel de free (gdb m'indique clairement que le segmentation fault a lieu à l'appel de free)

    Sur le traitement que je fait subir à mon pointeur :


    198 UINT16* tmpseries=getChannelXData(ch_id+1); //Ici je fait appel à une libraire C dynamique
    199 for (int ii=0;ii<numberofsamples;++ii) {
    200 thistrace.PushBack(double(tmpseries[ii])); //(écriture dans un "vecteur à notre sauce")
    201 }
    202 if (tmpseries!=NULL) {
    203 free(tmpseries);
    204 tmpseries=NULL;
    205 }

    Sachant que si je ne delete pas tmpseries, les valeurs propagée dans la suite du programme ne sont pas abérantes, donc je ne pense pas qu'il y ai d'erreur à l'écriture ou à la lecture