Error: illegal use of this type as an expression
	
	
		Bonjour. Je rencontre cette erreur à la compilation:
Error : illegal use of this type as an expression.
Voici mon code:
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13
   |  
void show_list(List* l){
	if(l == NULL)
		exit(EXIT_FAILURE);
	Element* iterator = l->first; <---------ligne de l erreur
 
	while(iterator != NULL)
	{
		printf("%i\t",iterator->data);
		iterator = iterator->next;
	}
	printf("NULL\n");
} | 
 En cherchant sur internet, j'ai trouvé qu'en faisant la déclaration de mon Element* au début de la fonction ça marche. Cad:
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13
   |  
void show_list(List* l){
	Element* iterator = l->first;
        if(l == NULL)
		exit(EXIT_FAILURE);
 
	while(iterator != NULL)
	{
		printf("%i\t",iterator->data);
		iterator = iterator->next;
	}
	printf("NULL\n");
} | 
 Je suis en train de me remettre au C et j'ai pas souvenir qu'il fallait faire les déclarations des variables au début(j'ai fait du java, smalltalk, C# entre temps et là c'est pas le cas). Du coup ça m'étonne.
Pourriez-vous m'éclaircir là-dessus?
Merci !