Pointeur sur une structure

xc78370 Messages postés 7 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 7 avril 2008 - 17 nov. 2004 à 15:14
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 17 nov. 2004 à 15:34
Bonjour,

Voila mon probleme. si quelqu'un a une idée, mrci d'avance.

j'ai plusieurs structures, du style :

---------------------------------------
struct str_a {
char Nom[256];
int age;
}a;

struct str_b {
char prenom[256];
int NbFrere;
}b;
---------------------------------------

Dans une de mes fonctions:
---------------------------------------
void ma_fonction(int i)
{
void *ptr;
char szNom[256];

if (i>0)
ptr = &a;
else
ptr = &b;

strcpy(szNom, ptr->Nom);

...


}
---------------------------------------

Le compilateur me met : "Pointeur sur structure nécessaire du coté gauche".
Je ne sais pas trop comment lui indiquer que mon void *ptr est maintenant d'un nouveau type.

Merci pour votre aide.

1 réponse

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 nov. 2004 à 15:34
on peut pas deferencer un void* et tu t'embete pour rien

if (i>0)
strcpy(szNom, a.Nom);
else
strcpy(szNom, b.Nom);

et le typage en c n'est pas assez fort pour differencier struct str_a de struct str_b, a et b sont de meme type
0
Rejoignez-nous