Como implementar uma macro assert compatível com o padrão com uma mensagem formatada opciona
Como implementar uma macro assert compatível com o padrão com uma mensagem formatada opciona
O que eu tenho funciona no clang, mas (corretamente) aciona o-Wgnu-zero-variadic-macro-arguments
aviso se estiver ativado (por exemplo, via-Wpedantic
) quando a macro é usada sem a mensagem opcional. Wandbox
#define MyAssert(expression, ...) \
do { \
if(!(expression)) \
{ \
printf("Assertion error: " #expression " | " __VA_ARGS__); \
abort(); \
} \
} while(0)