首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >枚举及其值

枚举及其值
EN

Stack Overflow用户
提问于 2009-09-17 18:33:48
回答 2查看 334关注 0票数 1

如果AErrorCode为ERR_NO_HEADER_RECORD_FOUND_ON_FILE,则以下步骤中的Field.Format("%04d",ErrorCode)的值是多少?

在.h文件中的某个位置:

代码语言:javascript
复制
enum AErrorCode
{
    ERR_UNKNOWN_RECORD_TYPE_CODE = 5001,
    ERR_NO_HEADER_RECORD_FOUND_ON_FILE,
    ERR_DUPLICATE_HEADER_RECORD_FOUND,

    ERR_THIRD_PARTY_LETTER_RECORD_HAS_A_ZERO_REFERRAL_AMOUNT = 5101,    

    ERR_CALL_OCA_UNKNOWN_PROBLEM = 5999
};

在某些过程中:

代码语言:javascript
复制
void TADataset::SetErrorStatus(AErrorCode ErrorCode)
{
    NDataString Field;
    Field.Format("%04d", ErrorCode);
    AckRecord.SetField("oca_error_stat", "E");
    AckRecord.SetField("error_cd", Field);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-17 18:35:24

代码语言:javascript
复制
 ERR_NO_HEADER_RECORD_FOUND_ON_FILE == 5002

如果您根本不指定任何值,它将从0开始并递增enum中的下一个元素。如果指定一个值,则从下一个元素开始递增。除非您通过为后续元素指定另一个值来再次重置计数器。

票数 4
EN

Stack Overflow用户

发布于 2009-09-17 18:38:08

根据C++标准7.2/1:

<...>If第一个枚举数没有初始值设定项,相应常量的值为零。不带初始值设定项的枚举数定义为枚举数提供通过将前一个枚举数的值加1而获得的值。

这意味着ERR_NO_HEADER_RECORD_FOUND_ON_FILE等于ERR_UNKNOWN_RECORD_TYPE_CODE+1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1440581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档