Union, quand tu nous tien...

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 - 2 janv. 2006 à 14:34
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 2 janv. 2006 à 15:49
Bon, ben voila, j'ai un probleme avec des unions.
Voici la déclaration de l'union:
typedef struct s_node
{
union
{
struct
{
unsigned visited : 1;
unsigned cost : 4;
unsigned parent : 2;
unsigned parity : 1;
} DESC;
unsigned char value;
}DATA;
} NODE, *PNODE;

Et la fonction qui me pose probleme:
NODE readNode(unsigned char lin, unsigned char col)
{
return readRam(lin * 128 + col);
}

La fonction readRam renvoie un unsigned char.
Mais le compilateur me renvoie un message d'erreur disant: "illegal conversion"
J'ai essaye en castant le retour avec (NODE), mais ne fonctionne pas non plus.
Peut-etre est-ce du au compilateur, c'est un compilateur pour programmer les PIC18.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]

1 réponse

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 janv. 2006 à 15:49
NODE est un type structure, c'est pour ca que la conversion n'est pas licite
0
Rejoignez-nous