в качестве второго аргумента

еализовать макрос assert, совместимый со стандартом, с необязательным форматированным сообщением?

То, что у меня работает в Clang, но (правильно) вызывает-Wgnu-zero-variadic-macro-arguments предупреждение, если оно включено (например, через-Wpedantic) когда макрос используется без опционального сообщения.Wandbox

#define MyAssert(expression, ...)                                      \
    do {                                                               \
        if(!(expression))                                              \
        {                                                              \
            printf("Assertion error: " #expression " | " __VA_ARGS__); \
            abort();                                                   \
        }                                                              \
    } while(0)

Ответы на вопрос(3)

Ваш ответ на вопрос