如果 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/