Tenir compte les deux macros suivantes:Réprimant "ISO C99 requiert des arguments reste à utiliser"
#define PNORM(v, s, ...) { \
if(VERBOSITY_CHECK(v)) { \
if((errno = pthread_mutex_lock(&server.output_mutex))) { \
PERROR_LOCKFREE(normal, "\tpthread_mutex_lock failed on output_mutex.\r\n") ; \
} \
fprintf(stdout, s, ## __VA_ARGS__) ; \
fflush(stdout) ; \
if((errno = pthread_mutex_unlock(&server.output_mutex))) { \
PERROR_LOCKFREE(normal, "\tpthread_mutex_unlock failed on output_mutex.\r\n") ; \
} \
} \
}
#define PERROR_LOCKFREE(v, s, ...) { \
if(VERBOSITY_CHECK(v)) { \
PERRNO ;\
fprintf(stderr, s, ## __VA_ARGS__) ; \
fflush(stderr) ; \
} \
}
Considérons maintenant un exemple d'utilisation de ces derniers:
PNORM(verbose, "\tSomeText [%d] More [%p]\r\n", 0, ptr) ;
Lorsque compilé avec l'option -pedantic et std = c99 Je reçois cette erreur plusieurs fois:
mycode.c:410:112: warning: ISO C99 requires rest arguments to be used
Le complier est droit de se plaindre à ce sujet mais est-il si Comment puis-je supprimer cet avertissement puisque je m'en fous?
Pédant est un très bon point à utiliser pour aider les erreurs de prises mineures dans votre code. Les avertissements ne sont pas quelque chose à ignorer. –
@David: Bien sûr, mais la question était "comment puis-je ignorer cet avertissement." '-pedantic' n'est vraiment utile que pour intercepter les dépendances gcc. '-Wall' attrapera presque tous les bogues qui peuvent être détectés par les avertissements. – nmichaels
Cette réponse n'aide vraiment pas à désactiver cet avertissement. En outre, au moins ma version de gcc ne supporte PAS les avertissements pragma. –