Bonjour,
j'ai 2 fonctions qui me calculent 2 pointeurs Read et Write :

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
/* Return the Read pointeur */
void * 
block_list_get_read( struct block_list_head * head )
{
	struct block_list_elem * elem;
	elem = linked_list_first_as( block_list_elem, head ) + 1;
	return (void *)((char *) elem + elem->read);
}
 
/* Return the Write pointeur */
void *
block_list_get_write( struct block_list_head * head )
{
	struct block_list_elem * elem;
	elem = linked_list_last_as( block_list_elem, head ) + 1;
	return (void *)((char *) elem + elem->write);
}
j'aimerais calculer la taille entre les 2 pointeurs (Write - Read)

j'ai donc cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
/* Return the size that can be read */
unsigned int
block_list_get_size_read( struct block_list_head * head )
{
	if(block_list_get_read(head) < block_list_get_write(head))
	return (block_list_get_read(head) - block_list_get_write(head));
	else
	return 0;
}
ce qui me donne comme erreur 'void *' : unknown size
c'est a dire que la taille du retour n'est pas connue.

ou serais l'erreur ? merci d'avance car la je bloque