У меня такая структура (по какой-то причине я не могу использовать массив):
struct OperatorData
{
char m_record_0[RIX_OPERATOR_CONFIG_SIZE];
char m_record_1[RIX_OPERATOR_CONFIG_SIZE];
//....
char m_record_9[RIX_OPERATOR_CONFIG_SIZE];
};
И я пытаюсь вычислить количество полей во время компиляции:
enum {fieldsAmount = sizeof(OperatorData) / sizeof(OperatorData::m_record_0)};
И компилятор сообщает такое сообщение:
Error: #245: a nonstatic member reference must be relative to a specific object
enum{fieldsAmount = sizeof(OperatorData) / sizeof(OperatorData::m_record_0)};
^
Я использую keil uVision3 V3.60. Не имеет значения, где я помещаю объявление enum внутри или вне структуры. Почему компилятор не может принять размер этого membmer?