dereferencing void pointer
Bonjour à tous,
Je voudrais faire une fonction en C qui prend une pile (représentée par un tableau d'objets quelconques) en paramètre, en créé un 2 fois plus gros puis copie tous les éléments du 1er dans le 2eme et pour finir change le pointeur du 1er sur le 2nd. Note (la pile connait sa taille et son nombre d'éléments):
Donc pour le tableau:
Code:
1 2 3
| void * tab;
tab = malloc(50 * sizeof(void)); |
Puis la fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| void tab_double(pile s) {
void* tempo;
int i = 0;
tempo=malloc(2 * s->taille * sizeof(void));
while(i < s->nb_elem){
tempo[i] = s->tab[i];
}
s->tab = tempo;
/* LE FREE */
} |
J'ai donc 2 warning "dereferencing void * pointer" ligne 9. J'ai cherché un peu sur internet le problème et je ne comprend pas bien (la plupart caste la chose).
PS: JE NE VEUT PAS UTILISER DE REALLOC VOLONTAIREMENT.
Merci