我不擅长C++,所以这可能是一个愚蠢的问题。 我正在查看一个头文件.h,在其中参数ID应该被定义,根据文档。 我找到了参数所在的行,它们如下:
#define SPCDLL_ERROR_KEYWORDS \
{ \
keyword (NONE), \
keyword (OPEN_FILE), \
keyword (FILE_NVALID), \
keyword (MEM_ALLOC), \
};
#define PARAMETERS_KEYWORDS \
{ \
keyword (LIMIT_LOW), \
keyword (LIMIT_HIGH), \
keyword (LEVEL), \
keyword (HOLDOFF), \
};
#ifdef keyword
#undef keyword /* prevents redefinition warning */
#endif
#define keyword(key) key
然而,我已经搜索了一下,但并没有找到关键字(key)行具体是做什么的?它是根据列表中的顺序为每个参数和ID分配编号吗?那会使LIMIT_LOW,ID=1吗?为什么它没有明确定义。另外,由于有两个关键字定义列表,它是如何工作的?
我来自Python世界,在那里我会将它们定义为两个字典,分别针对Error_names和Parameter_vals的ID和值。
如果有人能解释一下这个问题,我将不胜感激。
keyword
的重新定义。) - M Oehm