Invalid application of ‘sizeof’ to incomplete type ‘struct pam

razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 - 19 août 2009 à 12:19
Kotomine Messages postés 112 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 5 novembre 2009 - 20 août 2009 à 23:48
Bonjour,
j'ai le message d'erreur suivante à la compilation :
invalid application of ‘sizeof’ to incomplete type ‘struct pam_handle’

dans mon fichier loginh.h j'ai defini :

typedef struct pam_handle pam_handle_t; // une structure dont la definition et le fichier qui la contient est tenu secrète.
typedef struct login_handle login_handle_t;
 
struct login_handle{
  unsigned int use_lp;
  unsigned int use_sc;
  pam_handle_t  *login_pamh;
  //pkcs11_handle_t *sc_ph; //a gerer
};

dans pam_pkcs11.c, j'inclut loginh.h, j'alloue de la mémoire avec malloc :

  login_handle_t *lh;
  lh->login_pamh = (pam_handle_t *)malloc(sizeof(pam_handle_t));
 


puis j'ai réessayé avec :

 
 login_handle_t *lh;
  lh->login_pamh = (pam_handle_t *)malloc(sizeof(struct pam_handle));
 

mais j'obtiens toujours la meme erreur.

- Que signifie cette erreur ?
- Comment je dois corriger mon programme ?

Merci d'avance pour votre aide
A voir également:

5 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
19 août 2009 à 15:36
Tu dis, "une structure dont la definition et le fichier qui la contient est tenu secrète."
Est-ce-que tu entends par là que la structure est bien définie mais que tu ne veux pas la détailler sur le forum? Dans le cas contraire, sizeof() ne peut bien évidemment pas connaître la taille de la structure puisqu'il ne la connaît pas.
0