这可能吗?在正常情况下,我使用int来返回函数,但我只是想知道这是否可行。
enum Direction { east, west, north, south };
Direction GetDirection()
{
return direction;
}
答案 0 :(得分:1)
是的,这是允许的,尽管你应该注意两件事:
C ++中的enum
在内部表示为一个整数类型,能够保存您指定的所有值。在你的情况下,范围将是0,1,2,3并且int
就足够了,尽管编译器也可以选择另一种类型。可以在显式枚举列表中返回不的direction
值。例如,您可以返回4。
如果您尝试将无法强制转换为支持enum
的整数类型的值,则程序行为未定义。
C ++ 11具有类eumerations ,它将枚举与其允许值绑定得更紧密。