转发在c++中声明一个枚举

转发在c++中声明一个枚举

我正在尝试执行以下操作: enum E; void Foo(E e); enum E{A, B, C}; 编译器拒绝。 我在Google上看了一眼,看来共识似乎是“你做不到”,但我不明白为什么。 谁能解释一下? 非常感谢。 澄清2:我这样做是因为我在一个接受所述枚举的类中拥有私有方法,并且我不想让枚举的值暴露出来-例如,我不希望任何人知道E被定义为 enum E{FU…


枚举类型变量的简单方法是C中的字符串?

这是我要做的: typedef enum{ONE, TWO, THREE}Numbers; 我正在尝试编写一个类似于以下内容的交换机的功能: char num_str[10]; int process_numbers_str(Numbers num){switch(num){case ONE: case TWO: case THREE:{…



为什么在C++中声明枚举时使用typedef?

多年来我没有编写任何C++,现在我试图回到它。 然后,我跑过去,想着放弃: typedef enum TokenType{blah1=0x00000000, blah2=0X01000000, blah3=0X02000000}TokenType; 这是什么? 为什么在这里使用typedef关键字? 为什么名称TokenType在这个…


c++ - 使用枚举作为数组索引

我有这个枚举: enum ButtonState{BUTTON_NORMAL=0, BUTTON_PRESSED=1, BUTTON_CLICKED=2}; const u8 NUM_BUTTON_STATES=3; 在我的Button类中,我有成员变量ButtonState state; 和ButtonColors colors[NUM_BUT…


c++ - 枚举类型的命名空间-最佳实践

通常,需要几个枚举类型。 有时候,名称会发生​​冲突。 想到这两个解决方案:使用名称空间,或使用'更大的'枚举元素名称。 尽管如此,命名空间解决方案还有两个可能的实现:一个嵌套枚举的虚拟类,或者一个完整的命名空间。 我正在寻找所有三种方法的优点和缺点。 例:// oft seen hand-crafted name clash solution enum eColors{cRed, c…


objective c - 什么是Objective-C中的typedef枚举?

我不认为我从根本上理解enum是什么,以及何时使用它。 例如: typedef enum{kCircle, kRectangle, kOblateSpheroid}ShapeType; 这里真的宣布了什么?…


在C#中使用枚举作为数组索引

我想在这个问题上做同样的事情,那就是: enum DaysOfTheWeek{Sunday=0, Monday, Tuesday...}; string[] message_array=new string[number_of_items_at_enum];... Console.Write(custom_array[(int)DaysOfTheWeek.Sunday]); 但是…


如何在POSIX C中枚举连接到机器的所有IP地址?

背景: 我正在编写一个守护进程,使得传出的TCP/IP连接。 它将在具有多个(非环回)IP地址的机器上运行。 我希望用户能够在守护程序的配置文件中指定哪个IP地址用于传出连接,或者使用*来全部使用。 这些地址将被用于轮换,每个连接从最近使用的IP地址出去。 这种行为很重要,因为*是“all”的替代品,所以在多台机器上运行的守护进程可以指向文件共享上的同一个配置文件,并且每个都使用自己的一组…


c - 我可以用printf()显示一个枚举的值吗?

有没有让我输出枚举的当前值的单线程?…


C中的默认枚举值对所有编译器都是一样的吗?

当声明如下所示的枚举时,是否所有的C编译器在Linux和Windows系统上都将默认值设置为x=0,y=1和z=2 ? typedef enum{x, y, z}someName;…




enum用法 enum是什么 enum enum介绍 linux 枚举类型初始化 枚举类型c enum声明 enum关键字 枚举字符串