Bonjour à tous, voilà j'obtiens 2 erreurs dans ce code que je ne comprends pas

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
19
void parse(char *ligne, char *FS, instruction *lst_pattern){
 
	char *ptr1;
	instruction temp, temp2;
	temp = *lst_pattern;
 
	ptr1 = malloc(100*sizeof(char));
    	ptr1 = strtok(ligne, FS);
	while(ptr1 != NULL){
		while(temp != NULL){
			if(strcmp(ptr1, temp.pattern)==0){
				printf("FIND\n");
			}
			temp2 = temp->next;
			temp = temp2;
		}
		ptr1 = strtok(NULL, FS);
	}
}
La structure instruction ressemble à ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
typedef struct instruction_{
	char *pattern;
	int nb_procedure;
	char **procedure;
	struct instruction_ *next;
}instruction;
J'obtient celà comme erreur :
error: used struct type value where scalar is required
error: invalid type argument of ‘->’

C'est surtout la 1ère que je comprends pas, le problème est sur :

apparement, mais je vois pas pourquoi j'ai pas le droit de le faire
Et la 2ème sur :

Et là aussi pour moi c'est bon

Alors je suis vraiment nul ?

Merci à tous