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 !