Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过int值访问枚举成员_C++_Enums - Fatal编程技术网

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”@穆斯塔法湖