deleted2Le 11/11/2014 à 12:27
Non, ça ne va pas, "pas vide" sera affiché à chaque fois que j'appelle la macro sans chaine de caractère, non ? du coup ça ferait super crade ^^
Et j'ai écrit ça, c'est plus explicite, et c'est plus lisible en fonction des cas :#define IF_TRUE(condition, label, ...) \
if (condition) { \
fprintf (stderr, ##__VA_ARGS__, ""); \
fprintf (stderr, "%s, %s, %i\n", __FILE__, __func__, __LINE__); \
goto label; \
}
#define IF_FALSE(condition, label, ...) IF_TRUE (!(condition), label, ##__VA_ARGS__)