[C] erreur utilisation de pointeur

Fermé
trojan - 2 nov. 2009 à 22:13
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 3 nov. 2009 à 00:58
Bonjour,

on me demande d'implementer la fonction "setSuivant" ci contre

void setSuivant ( BMaillon *m, const BMaillon * newSuivant ) ;
avec
typedef struct BMaillon { struct BMaillon * precedent, * suivant ; TVal value ; } BMaillon ;

si le maillon de depart "m" n'a pas de suivant j'utilise ce code

if (m->suivant == NULL){
m->suivant = newSuivant;
newSuivant->precedent = m;
}

mais newSuivant etant declarer const l'assignation est refusé, je vois pas trop comment faire du coup
A voir également:

1 réponse

mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
3 nov. 2009 à 00:58
Ben si tu dois modifier suivant il ne doit pas être const ! Tout simplement. Le mot clé const signifie que tu garanties que l'objet ne vas être modifié, c'est donc normal que le compilateur refuse ton code. Si tu nous donne un code un peu plus complet on peut essayer de voir.

Bonne chance
0