Macros multi-instruction qui retournent quequechose
Est ce que c'est possible?
Comment on peut faire? Sachant que j'ai besoin de faire une macro pour la "concatenation" et creer des nom d'identificateurs à partir de parametres.
Actuellement, je passe une variable à affecter pour recuperer le resultat
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#define TYPE_NOT_FOUND ((unsigned int)-1)
#define _GET_TAB_STR_TYPES(nombase) (tab_str_types_ ## nombase)
#define _GET_NB_TYPES(nombase) (nb_types_ ## nombase)
#define FETCH_INT_TYPE(nombase,strtype,var)\
do { int _k; var = TYPE_NOT_FOUND;\
for (_k = 0; _k < _GET_NB_TYPES(nombase) && var == TYPE_NOT_FOUND ; _k++)\
if (!strcmp(strtype, _GET_TAB_STR_TYPES(nombase)[_k])) var = _k;\
} while(0) |
Mais j'aimerais faire ce genre de choses :
Code:
fonction (param1, MA_MACRO_MULTI_INSTRUCTION(x));