undefined lvalue si j'utilise un #define
mon pb, quand je fais un #define conditionnel, je ne peux pas l'utiliser (error : invalide lvalue in assignment), alors qu'un #define classique fonctione. Voici les deux :
Code:
1 2 3 4 5
| #define modadr_eff_ ((*p_text_courant)->mod_adr_op1) /* là çà va */
#define modadr_eff_ ( (quel_op == 1) ? ((*p_text_courant)->mod_adr_op1) : ((*p_text_courant)->mod_adr_op2) ) /* là non*/
modadr_eff_ = mod_adr; /*utilisation dans une fonction, dans laquelle je déclare auparavant mod_adr et lui affecte une adresse */
/* si je remplace modadr_eff_ par le texte voulu, çà fonctionne aussi |
pour précision, p_text_courant est du type "ligne_text**" , pour pouvoir promener mes listes dans mes fonctions
Code:
1 2 3 4 5 6 7 8
| struct ligne_text
{
...
int mod_adr_op1;
int mod_adr_op2;
...
struct ligne_text *suivant;
}; |
quel_op est un entier permettant de savoir si j'étudie l'opérande 1 ou 2.
ayant tout une batterie de tests à faire, j'aimerais autant ne pas les écrire deux fois (faisable, mais moche)
merci de votre aide