У меня возникли проблемы с конкатенацией setting_ с адресом, который затем используется для сопоставления с типом структуры:
Я использую:
#define ADDR_TO_SETTING(ADDR) { #ADDR, setting_ ## ADDR}
Затем у меня есть структура иenum:
typedef struct
{
uint8_t setting_ADDR_LOG_ACTIVE;
} settings_t
typedef enum
{
ADDR_LOG_ACTIVE=0
} addr_e
Что используется следующим образом:
settings_t settings;
settings.ADDR_TO_SETTING(ADDR_LOG_ACTIVE) = false;
Я всегда получаю ошибку компилятора в заголовке, где определение: «ожидаемый идентификатор или» («до»){'токен'. Что я здесь не так делаю?