C++ 通过int值访问枚举成员
我有 还有一个功能C++ 通过int值访问枚举成员,c++,enums,C++,Enums,我有 还有一个功能 enum Direction { NONE = 0, LEFT, RIGHT, FORWARD }; 此函数将获取一个int值,并根据该值打印“Direction”的成员。怎么可能呢?提前谢谢 例如:如果dir=0,则打印无;如果dir=1,则向右打印;等等 PS:我在C++中很新。 < P>是的,这是可能的,因为枚举> /Cord>值是在HED下的整数类型。转换是隐式的,因此您应该能够直接调用 void displayDirection(int dir) { ... }
enum Direction { NONE = 0, LEFT, RIGHT, FORWARD };
此函数将获取一个int值,并根据该值打印“Direction”的成员。怎么可能呢?提前谢谢
例如:如果dir=0,则打印无;如果dir=1,则向右打印;等等
PS:我在C++中很新。
< P>是的,这是可能的,因为<代码>枚举> /Cord>值是在HED下的整数类型。转换是隐式的,因此您应该能够直接调用void displayDirection(int dir)
{ ... }
但是,我建议将函数签名更改为
displayDirection(3); //FORWARD
是的,这是可能的,因为
enum
值实际上是整数类型。转换是隐式的,因此您应该能够直接调用
void displayDirection(int dir)
{ ... }
但是,我建议将函数签名更改为
displayDirection(3); //FORWARD
您需要打印它们的“字符串”版本。。。e、 g.
char*szArray[]={“无”、“左”、“右”、“前向”}
然后在displayDirection
中通过szArray[dir]
引用它。边界检查也很合适…您需要“字符串”版本的边界来打印。。。e、 g.char*szArray[]={“无”、“左”、“右”、“前向”}
然后在displayDirection
中通过szArray[dir]
引用它。边界检查也很合适…如果要打印文本值,“无”、“左”等,这是不可能直接实现的
在已编译的可执行文件中,名称已经过优化,您无法取回它们,就像您不能按名称引用变量一样(例如示例中的“dir”)
因此,您应该通过将名称存储在字符串数组中,将其放入程序中。如果要打印文本值,“无”、“左”等,则无法直接打印 在已编译的可执行文件中,名称已经过优化,您无法取回它们,就像您不能按名称引用变量一样(例如示例中的“dir”)
因此,您应该做的是通过将名称存储在字符串数组中,将其放入程序。关于a,这不是已经讨论过了吗?关于a,这不是已经讨论过了吗?我不明白第一个函数怎么可能,该函数的内部应该是什么。我想通过int参数来实现,我试着learn@Mustafa什么是可能的?@LuchianGrigore displayDirection(3)函数的定义应该是什么,我认为根据其他定义是不可能的answers@LuchianGrigore好的,当我调用displayDirection(3)时,如何打印“FORWARD”@Mustafa看到我不明白第一个函数怎么可能,该函数的内部应该是什么。我想通过int参数来实现,我试着learn@Mustafa什么是可能的?@LuchianGrigore displayDirection(3)函数的定义应该是什么,我认为根据其他定义是不可能的answers@LuchianGrigore好的,当我调用displayDirection(3)时,如何打印“FORWARD”@穆斯塔法湖