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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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