Bonjour,

J'ai voulu crée une macro pour faire des assert personnalisé (sans passer par la macro standard) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#define assert(label, msg, expr)                                   \
  ((void) sizeof ((expr) ? 1 : 0), __extension__ ({			\
      if (expr)								                \
        printf("%s %s True\n", label, msg, #expr);                  \
      else								                    \
        printf("%s %s False\n", label, msg, #expr);              	\
    }))
Et l'appel :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
static const char *label[] = {"label0", "label1", "label2"};
//...
int value = 1;
assert(label[1], "is open ?", value == 1);

Mon IDE me sort ce "warning" sur mon appel à la macro : data argument not used by format string

Je ne comprends pas quel est le problème ?

Avez vous une idée ?

Merci par avance pour votre aide