c++ - 枚举及其值

标签 c++ enums

如果 AErrorCode 是 ERR_NO_HEADER_RECORD_FOUND_ON_FILE,下面过程中 Field.Format("%04d", ErrorCode) 的值是多少?

.h 文件中的某处:

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
};

在一些过程中:

void TADataset::SetErrorStatus(AErrorCode ErrorCode)
{
    NDataString Field;
    Field.Format("%04d", ErrorCode);
    AckRecord.SetField("oca_error_stat", "E");
    AckRecord.SetField("error_cd", Field);
}

最佳答案

 ERR_NO_HEADER_RECORD_FOUND_ON_FILE == 5002

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

关于c++ - 枚举及其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1440581/

相关文章:

C++ 堆栈推送/打印实现

c++ - C++ std::map 崩溃

php - 使用 enum mysql php 切换按钮值

mysql查询显示为名为department的列创建的所有枚举值?

C (gnu11) enum 变量无法与 int 进行比较?

c# - WebAPI 中的枚举返回字符串值

c++ - llvm 的 Hello pass 示例的编译错误

c++ - C++ 会使用复制赋值运算符中的 move 构造函数吗?

c++ - sets、multisets、maps 和 multimaps 如何在内部工作

c++ - 一致地处理 clang、gcc 和 icc 中的 switch 枚举类返回