Bonsoir,

Je réalise un petit programme dans lequel j'utilise un tableau de structures. Ce tableau est alloué dynamiquement, mais j'ai un souci : je ne peux pas écrire free(tab[i]), voici un exemple qui sera plus parlant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
//ma_struct *tab est initialisé et construit avant
 
 
int i = 0;
int nb = 10; //Le nombre de structures dans mon tableau
ma_struct *tmp = NULL; 
 
tmp = (adr *) malloc(sizeof(adr) * nb);
 
if(tmp != NULL)
{
  for(i = 0; i < nb; i++)
  {
   tmp[i] = tab[i];
   free(tab[i]); // Cette ligne provoque l'erreur "incompatible type for argument 1 of ‘free’"
  }
}
Je ne comprends pas pourquoi free(tab[i]) me renvoie cette erreur
"incompatible type for argument 1 of ‘free’"

Any idea ?