• [^] # Re: Un peu faible

    Posté par . En réponse au journal Les types fantômes. Évalué à 1.

    On peut n'écrire qu'une seule fois les fonctions,

    typedef struct prenom { char * s; } Prenom;
    typedef struct nom { char * s; } Nom;
    #define makemaker(type) type make##type(char * s){ \
     type tmp = {s}; \
     return tmp; \
     }
    #define makeconcat(type) void concat##type(type a, type b, type res){ \
     strcpy(res.s, a.s); \
     strcat(res.s, b.s); \
     }
    // il faut quand même faire les déclarations
    makemaker(Nom)
    makemaker(Prenom)
    makeconcat(Nom)
    makeconcat(Prenom)
    
    

    Please do not feed the trolls