我有这样的结构(出于某种原因,我不能只使用数组):
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。我将枚举声明放在结构内部或外部的哪个位置都没有关系。为什么编译器不能接受这个成员的大小?