Bonjour � tous,
J'ai un petit probl�me avec Eclipse CDT et l'analyse de syntaxe que CDT r�alise pour un programme en C.
Il est commun d'utiliser un pointeur opaque lorsqu'on veut cacher la structure utilis�e dans une API.
Je vous donne un exemple:
fichier list.h:
fichier list.c:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 typedef struct _list list; /* pointeur opaque, la structure est définie dans le .c */ /* ces fonction sont soulignées "syntax error" car CDT ne connait pas encore "struct _list" et par extension, le type "list" */ list *create_list( void ); int next_data( list *pList );
Mon probl�me est que CDT n'interpr�te pas correctement le typedef car la structure � laquelle il fait r�f�rence n'est pas encore d�finie.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 #include "list.h" struct _list { int id; [...] };
Toutes les fonctions qui sont d�clar�es dans le header et qui utilisent ce typedef sont soulign�es en jaune "syntax error" (l'analyseur syntaxique de CDT pense que la structure n'existe pas) alors qu'� la compilation tout se passe bien, �videmment (et le programme fonctionne sans probl�me).
Une solution?
Partager