我用枚举做了一个小测试,这就是我所拥有的:
enum anyoldname : char
{
    aa = 'a', ab = 'b', ac = 'c', ad = 'd'
};
int main()
{
    anyoldname i_have_an_enum_here = aa; // Would expect i_have_an_enum_here to be of type char?
    std::cout << i_have_an_enum_here << std::endl;
    return 0;
}
输出是: 98,除非我像这样显式转换为 char :
std::cout << (char)i_have_an_enum_here;
或更改anyoldname为char.
为什么98打印值而不是b?
顺便sizeof()返回1,即;1 个字节,一个char.