Возможно ли реализовать static_if в C99?
#define STATIC_IF(COND, ...) \
if (COND) MACRO1(__VA_ARGS__); \
else MACRO2(__VA_ARGS__);
Как я могу правильно реализовать STATIC_IF(…) здесь? В зависимости от COND аргументы должны быть переданы в MACRO1 или MACRO2, но аргументы для обоих макросов выглядят по-разному. COND является статически проверяемым, что-то вроде sizeof (…) > 42.
-
#if COND, тогда#define STATIC_IF MACRO1... не будет работать для моего использования. - Я не могу использовать специфические для компилятора решения.