Enums enum与&#定义

Enums enum与&#定义,enums,Enums,我见过编译器在枚举和定义之间做一些奇怪的事情,比如: enum { PARAM_TYPE, PARAM_SIZE, PARAM_MODEL, NumParam }; char parameters[NumParam]; #define ParamVectorSize NumParam 它在我的应用程序中创建了一个错误,因为NumParam和ParamVectorSize的值为0而不是3。似乎我不能总是使用enum替换#define。对吗?我犯了什么错

我见过编译器在枚举和定义之间做一些奇怪的事情,比如:

enum { PARAM_TYPE, PARAM_SIZE, PARAM_MODEL, NumParam };
char parameters[NumParam];
#define ParamVectorSize NumParam
它在我的应用程序中创建了一个错误,因为NumParam和ParamVectorSize的值为0而不是3。似乎我不能总是使用enum替换#define。对吗?我犯了什么错