[C] erreur utilisation de pointeur
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
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
Configuration: Windows Vista Firefox 3.5.3
1 réponse
-
ModérateurBen 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