C ++使用ASCII而不是枚举中的字母

时间:2013-11-24 18:10:48

标签: c++ enums

我有一个枚举:

enum Items {
    PAC = 'C', GHOST = '@', FRUIT = 'o', POINTS = '.', WALL = 'w', EMPTY = ' ', UNDEFINED = '+'
} fieldItems;

我想用ascii表的178改变w。我知道如何分配它:char w = 178; 但是,我如何说它是一个字母的枚举?

2 个答案:

答案 0 :(得分:2)

字符文字没有小数转义,但是有一个十六进制转义:

WALL='\xB2'

答案 1 :(得分:2)

为什么不呢:

WALL = 178

如果要控制enum的基础类型,则应使用

enum Items : char { ... };

反正。请注意,只有枚举类型Items具有单个基础类型,而不是每个值。您无法告诉编译器WALL是特定类型的。